대규모로 확장 가능한 응용 프로그램의 데이터베이스로 SQL Server를 사용하는 것이 좋습니다?


10

Facebook 규모의 웹 사이트를 만들 계획이라고 가정 해 봅시다 (웹 사이트의 이름을 인용하면 Facebook이 아닌 이유는 무엇입니까?!). 이러한 응용 프로그램의 데이터베이스로 SQL Server를 사용하는 것이 좋습니다?

내 동료 많은 사람들이 SQL Server를 이러한 응용 프로그램으로 사용해서는 안된다고 말했기 때문에이 질문을하고 있습니다. 대신 Oracle 또는 MySQL을 선호합니다.


1
모든 응용 프로그램에 SQL Server를 사용합니까?
JeffO

5
SQL 서버가 답인지는 모르겠지만 Oracle은 SQl Server보다 낫습니다.
직업

9
먼저 스스로에게 질문하십시오- 당신의 데이터는 관계형 입니까?
Henrik

2
예산이 크게 확장 가능합니까?
sasfrog

답변:


10

, SQL Server는 웹을 포함하여 사용량이 많도록 설계되었습니다. CPU 인스턴스 및 SAN을 스토리지로 결합한 메모리 인스턴스와 같은 다양한 구성을 수행 할 수 있습니다.

현지 Microsoft 통합 자 또는 전도사에게 조언을 구하십시오.

웹에서 SQL Server의 확장 기능과 관련된 많은 리소스를 찾을 수 있으며, 여기서는 SQL Server 팀의 주제 인 http://blogs.msdn.com/b/sqlcat/archive/ 에 대한 멋진 블로그 게시물을 참조하십시오. 2008 / 06 / 12 / sql-server-scale-out.aspx

클라우드에서 Azure가 SQL Server를 제공하는 방법을 확인하십시오.


SQL Azure는 단순한 '클라우드의 SQL Server'가 아니라 몇 가지 차이점이 있습니다. 그러나 규모가 큰 사이트에는 반드시 실행 가능한 옵션이므로 살펴 봐야합니다.
Bart

당신이 그것을 던질 돈이 있다면 그것은 확장됩니다.
David Neale

3

SQL Server는 이러한 종류의 작업을 위해 다른 데이터베이스와 일치하지만 이러한 종류의 규모로 무언가를 수행하려는 경우 확장 성 측면에서 기존 관계형 데이터베이스보다 클라우드 테이블 스토리지 시스템을 사용하는 것이 좋습니다. 또는 대규모 데이터 관리를 위해 테이블 ​​스토리지를 사용하고 해당 관계형 또는 트랜잭션 기능이 필요한 장소에 데이터베이스를 사용하는 이기종 시스템을 설계합니다.


예, 답변이 수락되었습니다. 투표함. ;)
Henrik

3

확장 성이 뛰어난 진정한 기능이 필요한 경우 기존 데이터베이스 엔진을 사용하지 않아야합니다.

기존의 SQL 데이터베이스는 확장 성 뛰어나지 만 (MySQL, SQL Server 또는 Orcale을 사용하는 대규모 사이트의 예를 많이 볼 수 있음) 특정 시점 에서 확장 성 한계에 도달하게됩니다. 정확한시기는 수요 수준, 응용 프로그램 요구 사항의 복잡성, 고가의 서버에 지출 할 금액 및 데이터베이스 사용을 얼마나 잘 최적화 할 수 있는지에 따라 달라집니다. 많은 사이트가이 한계에 도달하지는 않지만 그렇게하면 상당히 고통스럽고 문제를 해결하기위한 큰 엔지니어링 과제에 직면하게됩니다.

이 시점을 넘어 서면 완전히 분산 된 NoSQL 데이터베이스 (예 : Cassandra 와 같은 데이터베이스) 가 실제로 필요합니다.이 데이터 는 실제로 Facebook에서 일부 빅 데이터 문제를 해결하기 위해 개발되었습니다. NoSQL 데이터베이스는 수평 적 확장 성을 효과적으로 무제한으로 허용하기 위해 기존 SQL 데이터베이스 기능 중 일부 (일반적으로 트랜잭션, 잠금 및 최종 일관성)를 명시 적으로 희생합니다.

전반적인 조언은 실제로 대규모 확장 성이 필요한지 파악하고 그에 따라 기술 경로를 선택하는 것입니다.


2

예. Microsoft Live.com은 SQL Server 위에 구축 된 것 같습니다.

Linux / PostgreSQL 팬이기 때문에 오늘날의 기술, 특히 SQL Server로 Facebook을 만들 수 있다고 말할 수 있습니다.

Facebook (500M)만큼 많은 사용자를 보유하지 않을 계획이라면이 대부분의 웹 사이트 (Stack Overflow 네트워크)는 .Net 및 SQL Server 위에 구축됩니다.


2

도구로는 SQL Server를 사용할 수 있지만 Facebook과 같은 사이트는 데이터베이스 맨 위에 구축되지 않습니다. 그들은 다양한 기술을 사용하여 작업을 수행하고 Yahoo 비디오를 확인하여 페이스 북이 로그를 단독으로 관리하는 방법을 찾습니다. DB는 확장 가능한 거대한 아키텍처의 일부일뿐입니다. 초당 약 10000 개의 행 업데이트에서 좋은 구성 시스템에서 며칠 후에 SQL Server와 Oracle DB가 모두 느리다는 것을 알았습니다. 내 문제는 분산 컴퓨팅을 사용할 수 없다는 것입니다. 따라서 DB 또는 확장 가능한 아키텍처가 제공 할 수있는 지원 시스템을 살펴 보는 것이 중요합니다.


2

MySQL (!)에 대해서는 답변을 드릴 수 없지만 SQLServer 또는 Oracle 중 어느 것을 사용할지 선택하는 고객을 지원 한 경험이 없습니다. 지금까지 우리는 일반적으로 그들 사이에 차이가 없다는 것을 알았지 만 상황이 나아질 때 Oracle이 훨씬 더 나은 제품입니다. 예를 들어, SQL Server가 미러 된 환경에서 실행하는 동안이 작업을 수행하는 데 많은 시간이 걸리겠다고 결정하면서 현재 24/7 미션 크리티컬 시스템을 중단하여 많은 레코드를 제거하고 있습니다. WAN 링크를 통한 대규모 데이터 세트의 로그 전달에 문제가 있었지만 전혀 해결되지 않았습니다. 이와 같은 일은 항상 Oracle에서 실행되는 고객을 지원하게되어 기쁘다.

따라서 대규모로 확장 가능한 시스템을 찾고 있다면 이러한 문제가 발생할 가능성이 높습니다. 오라클은 둔하고 어렵고 성가 시지만 실제로 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.