Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

От какво зависи скоростта на заявка към базата данни и вмъкване?

За грубо сравнение:записът за сравнение на TPC-C за SQL Server е около 1,2 милиона транзакции в минута и е така през последните 4 години или нещо такова (с ограничението от 64 CPU OS). Това е нещо в рамките на ~16 хиляди транзакции в секунда . Това е на машини от супер висок клас, 64 процесора, много RAM, афинитизирани клиенти на NUMA възел и сървърна къса I/O система (използва се само около 1-2% от всеки шпиндел). Имайте предвид, че това са TPC-C транзакции, така че те се състоят от няколко операции (мисля, че са средно 4-5 четения и 1-2 записа).

Сега трябва да намалите мащаба на този най-висок хардуер до действителното си внедряване и ще получите приблизителната точка, където да зададете очакванията си за цялостната обработка на OLTP транзакции .

За качване на данни текущият световен рекорд е около 1TB за 30 минути (ако все още е актуален...). Няколко десетки хиляди вмъквания в секунда е доста амбициозно, но постижимо, когато се направи правилно на сериозен хардуер. Статията във връзката съдържа съвети и трикове за висока производителност на ETL (напр. използвайте множество потоци за качване и ги афинизирайте към NUMA възли).

За вашата ситуация бих ви посъветвал първо и най-вече да меритете така че откривате тесните места и след това питате конкретно въпроси как да се решат специфични тесни места. Добра отправна точка е Бяла книга за чакане и опашки .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WinRT System.Data - Свързване към SQL

  2. Блокировка от заключване на обхват на индекс на първичен ключ

  3. Подреждане на резултатите от SQL Server по IN клауза

  4. .NET API за SQL Server Service Broker

  5. Разделяне на низ чрез sql оператор (ip адрес)