Чи рекомендується використовувати SQL Server як базу даних для масово масштабованих програм?


10

Скажімо, ви плануєте створити веб-сайт у масштабі Facebook (якщо я збираюся навести ім'я веб-сайту, то чому б не Facebook ?!). Чи рекомендується використовувати SQL Server як базу даних для таких програм?

Я задаю це питання тому, що багато моїх колег кажуть, що SQL-сервер не повинен використовувати такі програми. Натомість вони віддають перевагу Oracle або MySQL.


1
Чи використовують вони SQL Server для будь-яких додатків?
JeffO

5
Я не знаю, чи відповідь на сервер SQL, але Oracle не кращий за сервер SQl.
робота

9
Спочатку задайте собі питання - чи ваші дані реляційні ??
Генрік

2
Чи масово масштабується ваш бюджет?
sasfrog

Відповіді:


10

Так , SQL Server розроблений для великого використання, включаючи Інтернет. Він має можливість розміщувати безліч різних конфігурацій, таких як екземпляри пам'яті в поєднанні з екземплярами процесора та SAN як сховище.

Попросіть свого місцевого інтегратора або євангеліста Microsoft отримати поради.

Ви можете знайти багато ресурсів щодо масштабування можливостей SQL Server в Інтернеті, і в якості початківця ось приємна публікація в блозі від команди SQL Server на цю тему: http://blogs.msdn.com/b/sqlcat/archive/ 2008/06/12 / sql-сервер-масштаб-out.aspx

Не забудьте перевірити, як Azure надає SQL Server у хмарі.


SQL Azure - це не просто "SQL-сервер у хмарі", є деякі відмінності. Але це, безумовно, життєздатний варіант для великого масштабованого сайту, і його слід переглянути.
Барт

Якщо у вас є гроші, щоб кинути на це, то це буде масштабуватися.
Девід Ніл

3

SQL Server - це відповідність будь-якій іншій базі даних для подібної роботи, але якщо ви думаєте зробити щось у такому масштабі, вам може бути краще працювати з системою зберігання хмарних таблиць, а не зі звичайною реляційною базою даних з точки зору масштабованості. або розроблення гетерогенної системи, яка використовує сховище таблиць для управління даними в масштабі більшої міри та базу даних для місць, де потрібні реляційні або транзакційні засоби, які вони пропонують.


Так, відповідь прийнято. Голосували. ;)
Генрік

3

Ви не повинні використовувати традиційні двигуни бази даних, якщо вам потрібні справжні масштабні можливості.

Бази даних SQL Традиційні робити масштаб досить добре (ви знайдете безліч прикладів великих сайтів , що використовують MySQL, SQL Server або Orcale) , але в будь - то момент ви будете перевищите межу масштабованості. Коли саме це станеться, залежатиме від рівня попиту, складності ваших вимог до додатків, скільки ви готові витратити на дорогі сервери та наскільки добре ви зможете оптимізувати використання бази даних. Багато сайтів ніколи не досягнуть цієї межі, але якщо ви це зробите, це досить болісно, ​​і вам доведеться зіткнутися з великою інженерною проблемою, щоб вирішити проблему.

Крім цього, вам справді потрібна повністю розподілена база даних NoSQL - наприклад, щось на зразок Кассандри , яке насправді було розроблено у Facebook для вирішення деяких їх великих завдань. Бази даних NoSQL явно жертвують деякими традиційними можливостями бази даних SQL (як правило, навколо транзакцій, блокування та можливої ​​послідовності), щоб ефективно забезпечити необмежену горизонтальну масштабованість.

В цілому моєю порадою було б з’ясувати, чи справді вам потрібна велика масштабованість, і вибрати відповідний технологічний шлях відповідно.


2

Так. Я вважаю, що Microsoft Live.com створений на базі SQL Server.

Будучи шанувальником Linux / PostgreSQL, дозвольте мені сказати, що ви можете створювати Facebook за допомогою будь-якої сьогоднішньої технології, зокрема SQL Server.

Якщо ви не плануєте мати стільки користувачів, як Facebook (500 млн), то цей самий веб-сайт (мережа переповнення стека) побудований на версії .Net та SQL Server.


2

Як інструмент ви можете використовувати SQL Server, але пам'ятайте, як Facebook, як Facebook, не побудований лише на вершині бази даних. Вони використовують різні технології, щоб виконати завдання, перегляньте відео Yahoo, щоб дізнатися, як Facebook управляє журналами поодинці, і ви зрозуміли, що БД є лише частиною величезної масштабованої архітектури. При оновленні приблизно 10000 рядків в секунду я бачив, що і SQL Server, і Oracle DB дуже повільно проходять через кілька днів на роботі гарної конфігурації. Моя проблема полягає в тому, що я не міг використовувати розподілені обчислення. Отже, важливо переглянути системи підтримки, які може надати БД або масштабована архітектура.


2

Я не можу відповісти за MySQL (!), Але у мене є досвід підтримки клієнтів, які ми обираємо, використовувати SQLServer чи Oracle. Поки ми виявили, що взагалі між ними немає різниці, але коли справи доходять до краю, Oracle є набагато кращим продуктом. Наприклад, ми в даний час знімаємо нашу критичну систему, яка займається цілодобовою місією, щоб очистити набір записів, оскільки SQLServer вирішив, що для виконання цієї задачі під час роботи (у дзеркальному середовищі) знадобиться багато годин. У нас виникли проблеми з доставкою журналу великого набору даних через WAN-посилання, яке ніколи не було вирішено повністю. Такі речі завжди раді нам підтримувати клієнтів, які працюють на Oracle, де у нас ніколи не виникає таких проблем.

Отже, якщо ви шукаєте масштабну масштабовану систему, саме тоді ви, ймовірно, знайдете ці проблеми. Oracle тьмяний, важкий і дратівливий, але він справді спрацьовує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.