Какую базу использовать для высоконагруженного приложения?

База данныхCAPQPSМасштабированиеОптимизацияIn memory/Disk basedОбласть применения
Apache CassandraAPДо 1 000 000ГоризонтальноеWriteDisk basedБольшие данные, IoT
MemcachedCPДо 1 000 000ГоризонтальноеReadIn memoryКэширование, веб-приложения
RedisCPДо 500 000+ГоризонтальноеRead/WriteIn memoryКэширование, сессии
Amazon DynamoDBAPДо 500 000Автоматическое горизонтальноеRead/WriteDisk basedВеб-приложения, мобильные приложения
ClickHouseCPДо 300 000ГоризонтальноеRead/WriteDisk basedАналитика, большие данные
CouchbaseAPДо 200 000ГоризонтальноеRead/WriteHybridВеб-приложения, мобильные приложения
PostgreSQLCAДо 150 000Вертикальное, репликацияReadDisk basedТранзакционные системы, ГИС
Oracle DatabaseCAДо 120 000Вертикальное, RAC кластерыRead/WriteDisk basedКорпоративные приложения, финансы
MongoDBCPДо 100 000Горизонтальное и вертикальноеRead/WriteDisk basedВеб-приложения, IoT
MySQLCAДо 100 000Вертикальное, репликацияReadDisk basedВеб-сайты, CMS
EtcdCPДо 80 000ГоризонтальноеReadDisk basedРаспределенные системы, конфигурации
Apache HBaseCPДо 30 000ГоризонтальноеWriteDisk basedБольшие данные, аналитика
Microsoft Azure Cosmos DBAPВарьируетсяГоризонтальноеRead/WriteDisk basedГлобально распределенные приложения
InfluxDBCPВарьируетсяГоризонтальноеRead/WriteDisk basedIoT, мониторинг
PostGISCAВарьируетсяВертикальное, репликацияReadDisk basedГИС, картография
Apache Spark SQLCPВарьируетсяГоризонтальноеRead/WriteIn memoryАналитика больших данных
OpenSearchAPВарьируетсяГоризонтальноеReadDisk basedПоиск, логи
CouchDBAPВарьируетсяГоризонтальноеRead/WriteDisk basedВеб-приложения, мобильные приложения
FirebirdCAВарьируетсяВертикальное, репликацияRead/WriteDisk basedВстраиваемые системы, локальные приложения

Примечания:

  1. «In memory» означает, что база данных хранит данные преимущественно в оперативной памяти для быстрого доступа.
  2. «Disk based» означает, что база данных в основном хранит данные на диске.
  3. «Hybrid» (как в случае с Couchbase) означает, что база данных использует как память, так и диск для оптимальной производительности.
  4. Значения QPS являются приблизительными и могут варьироваться в зависимости от конфигурации и нагрузки.