Какую базу использовать для высоконагруженного приложения?
База данных | CAP | QPS | Масштабирование | Оптимизация | In memory/Disk based | Область применения |
---|---|---|---|---|---|---|
Apache Cassandra | AP | До 1 000 000 | Горизонтальное | Write | Disk based | Большие данные, IoT |
Memcached | CP | До 1 000 000 | Горизонтальное | Read | In memory | Кэширование, веб-приложения |
Redis | CP | До 500 000+ | Горизонтальное | Read/Write | In memory | Кэширование, сессии |
Amazon DynamoDB | AP | До 500 000 | Автоматическое горизонтальное | Read/Write | Disk based | Веб-приложения, мобильные приложения |
ClickHouse | CP | До 300 000 | Горизонтальное | Read/Write | Disk based | Аналитика, большие данные |
Couchbase | AP | До 200 000 | Горизонтальное | Read/Write | Hybrid | Веб-приложения, мобильные приложения |
PostgreSQL | CA | До 150 000 | Вертикальное, репликация | Read | Disk based | Транзакционные системы, ГИС |
Oracle Database | CA | До 120 000 | Вертикальное, RAC кластеры | Read/Write | Disk based | Корпоративные приложения, финансы |
MongoDB | CP | До 100 000 | Горизонтальное и вертикальное | Read/Write | Disk based | Веб-приложения, IoT |
MySQL | CA | До 100 000 | Вертикальное, репликация | Read | Disk based | Веб-сайты, CMS |
Etcd | CP | До 80 000 | Горизонтальное | Read | Disk based | Распределенные системы, конфигурации |
Apache HBase | CP | До 30 000 | Горизонтальное | Write | Disk based | Большие данные, аналитика |
Microsoft Azure Cosmos DB | AP | Варьируется | Горизонтальное | Read/Write | Disk based | Глобально распределенные приложения |
InfluxDB | CP | Варьируется | Горизонтальное | Read/Write | Disk based | IoT, мониторинг |
PostGIS | CA | Варьируется | Вертикальное, репликация | Read | Disk based | ГИС, картография |
Apache Spark SQL | CP | Варьируется | Горизонтальное | Read/Write | In memory | Аналитика больших данных |
OpenSearch | AP | Варьируется | Горизонтальное | Read | Disk based | Поиск, логи |
CouchDB | AP | Варьируется | Горизонтальное | Read/Write | Disk based | Веб-приложения, мобильные приложения |
Firebird | CA | Варьируется | Вертикальное, репликация | Read/Write | Disk based | Встраиваемые системы, локальные приложения |
Примечания:
- «In memory» означает, что база данных хранит данные преимущественно в оперативной памяти для быстрого доступа.
- «Disk based» означает, что база данных в основном хранит данные на диске.
- «Hybrid» (как в случае с Couchbase) означает, что база данных использует как память, так и диск для оптимальной производительности.
- Значения QPS являются приблизительными и могут варьироваться в зависимости от конфигурации и нагрузки.