предисловие
В контексте Интернета и больших данных все больше и больше веб-сайтов и систем приложений должны поддерживатьМассовое хранение данных,большое количество одновременных запросов,Высокая доступность,Высокая масштабируемостьи другие характерные требования. традиционныйРеляционная база данныхБыло трудно справиться с одинаковыми потребностями, разнообразиемNoSQL
(Not Only SQL
) таким образом создается база данных.
В этой статье будет проанализированотрадиционная база данныхпроблемы и несколько категорийNoSQL
Как решить эти проблемы. в различныхДеловая сценавниз, сделать правохранилище данныхВыбор технологии.
текст
1. Недостатки традиционных баз данных
недостаток | объяснять |
---|---|
В сценариях больших данныхI/O выше |
потому что данныехранилище строк, хотя бы только длястолбецДля выполнения операций реляционные базы данных также будутвесь ряд данныхсканирование с запоминающего устройствачитать в памяти, Привести кI/O выше |
структурированное хранилищенедостаточно гибкий | хранитсязапись строки, не может быть сохраненгибкая структура данных |
Структура таблицыschema Неудобно расширять. |
Изменить при необходимостиСтруктура таблицы, который необходимо выполнитьDDL (data definition language ) модификация заявления в течение периода модификации вызоветстол блокировки, некоторые услуги недоступны |
исследовать всеменее функциональный | Реляционные базы данных могут толькоподстрокаизсоответствующий запрос, когда данные таблицы постепенно становятся больше, даже если естьпоказательв случае,like Соответствующая встреча запроса таблицы сканированияочень медленно
|
трудныйместо храненияииметь дело ссложныйреляционные данные | Традиционные реляционные базы данных плохо справляются с обработкоймежду точками данныхОтношение |
2. Введение в NoSQL
NoSQL
, обычно относится кнереляционныйбазу данных, которую можно понимать какотносительныйМощное дополнение к базе данных.
NoSQL
Гораздо лучшая производительность во многих отношенияхнереляционныйВ то же время БД часто сопровождается отсутствием некоторых функций. Более распространенным являетсяФункция транзакцииотсутствие. Четыре основных элемента правильного выполнения транзакций базы данныхACID
следующее:
название | описывать | |
---|---|---|
A | атомарность | Все операции в транзакции либо завершены, либо не завершены, и не завершатся на каком-либо промежуточном звене. Если во время выполнения транзакции возникает ошибка, она будет отброшена к состоянию до начала транзакции, как если бы транзакция никогда не выполнялась. |
C | Последовательность | Целостность базы данных не нарушается ни до начала транзакции, ни после ее завершения. |
I | Изоляция изоляции | Способность базы данных позволять нескольким параллельным транзакциям одновременно читать, записывать и изменять данные. Изоляция может предотвратить несогласованность данных из-за перекрестного выполнения, когда несколько транзакций выполняются одновременно. |
D | Долговечность | После завершения транзакции изменение данных является постоянным и не будет потеряно даже в случае сбоя системы. |
для традиционныхРеляционная база данных, далее описываются общие5
КатегорияNoSQL
решение:
3. Столбчатая база данных
столбчатая база данныхдаКолонкозависимая архитектура храненияБаза данных для хранения данных, в основном подходит дляпакетная обработка данныхимгновенный запрос. Соответственнобаза данных строк, данныеархитектура хранения, зависящая от строкраспределение пространства, в основном подходит длянебольшая партияизобработка данных, часто используется дляОнлайн-обработка транзакционных данных.
база данных на основе столбцовФункции хранилища столбцов, который может решить некоторые конкретные сценарииРеляционная база данныхвысокийI/O
Проблема.
3.1. Основные принципы
Традиционные реляционные базы данныхпо очередидля хранения базы данных, называемойбаза данных строк,истолбчатая база данныхдапо столбцудля хранения данных.
Есть два способа поместить таблицу в систему хранения, и мы в основном используемхранилище строкиз. хранение строклинииположить впоследовательные физические местоположения, очень похоже на традиционную систему записи и файлов.
хранилище столбцовэто данныепо столбцухранится в базе данных схранилище строкТочно так же следующий рисунок представляет собой графическое объяснение двух методов хранения:
3.2 Общие столбцовые базы данных
3.2.1. HBase
HBase
является открытым исходным кодомНереляционная распределенная база данных(NoSQL
), который ссылаетсяGoogleизBigTable
Моделирование, реализован язык программированияJava
. этоApache
Фонд программного обеспеченияHadoop
часть проекта, которая работает наHDFS
в файловой системе, дляHadoop
предоставляет что-то вродеBigTable
масштаб обслуживания. Следовательно, он можетотказоустойчивойместо храненияМассивный разреженныйДанные.
3.2.2. BigTable
BigTable
этосжатый,высокая производительность,хорошо масштабируемый, на основеGoogle
Файловая система(Google File System
,GFS
) система хранения данных для храненияСтруктурированные данные в любом масштабе, подходит для облачных вычислений.
3.3. Связанные функции
3.3.1 Преимущества
- Эффективное использование пространства для хранения
столбчатая база данныхдля разных столбцовОсобенности данныхи изобрелразные алгоритмы, что делает его более чембаза данных строкнамного вышеКоэффициент сжатия. нормальныйбаза данных строкОбщая степень сжатия3:1
прибыть5:1
вокруг, покастолбчатая база данныхСтепень сжатия обычно находится в8:1
прибыть30:1
о.
чаще, черезсловарная таблицаСжатые данные:
Ниже показано, как выглядит таблица. проходить черезсловарная таблицапровестиСжатие данныхПосле этого в таблиценитьвсе становятсяномер. именно потому, что каждая строка находится всловарная таблицаТолькопоявился один раз, так достигаякомпрессияцель.
- Высокая эффективность запросов
читать несколько фрагментов данныхВысокая эффективность в одном ряду, потому что эти столбцыхранится вместе, дисковая операция можетуказанный столбецчитать всеОЗУсередина. Проходит следующая фигуразапросописание процесса выполнениястолбчатое хранилище(а такжеСжатие данных)Преимущества.
Этапы выполнения следующие:
- идти ссловарная таблицанайти вСтроки соответствуют числам(выполняет только одно сравнение строк).
- использоватьномерПерейти к списку совпадений, позиция на совпадении установлена на
1
.- Пучокразные столбцыизрезультат матчапровестибитовая операцияполучить все условияиндекс записи.
- использовать этоПодстрочная сборкаиз финаланабор результатов.
-
подходит для агрегации
-
Подходит для больших объемов данных, а не для небольших данных
3.3.2 Недостатки
-
Не подходит для сканированиянебольшой объем данных
-
Неподходящийслучайное обновление
-
Не подходит для удаления и обновленияработа в режиме реального времени
-
одна строка данныхслужба поддержки
ACID
изтранзакционная операция,Несколько строк данныхизтранзакционная операция, который не поддерживает транзакциинормальный откат,служба поддержки (Isolation
) изоляция, (Durability
) стойкость, не гарантируется (Atomicity
) атомарность, (Consistency
)последовательность.
3.4 Сценарии применения
Применимые сценарии для столбцовых баз данных дляHBase
Например:
-
Подходит дляБольшой объем данных (
100TB
данные уровня), естьбыстрый произвольный доступтребование. -
Подходит длянаписать интенсивприложение, ежедневный объем записи огромен, иотносительно небольшое количество чтенийприложения, такие как
IM
изисторические новости,журнал игрыи Т. Д. -
подходит без нуждысложный запросУсловия для запроса приложений данных.
HBase
Поддерживает только на основеrowkey
запрос, дляHBase
Сказать,одиночная записьилинебольшой круг запросовЭто приемлемо.Широкий ассортиментзапрос из-зараспределенныйпричина, возможно, впредставлениенебольшое влияние.HBase
не относится кjoin
,многоуровневый индекс,отношения между таблицами сложныемодель данных. -
правильнопредставлениеинадежностьОчень требовательные приложения.
-
так как
HBase
не сам по себеединая точка отказа,Доступностьочень высоко. -
Подходит дляБольшой объем данных,иУвеличениеНепредсказуемые приложения требуют элегантного расширения данных.
HBase
служба поддержкионлайн-расширение, даже за определенный период времени объем данныхвзрывной рост, также черезHBase
Масштабированиедля удовлетворения функции. -
место храненияСтруктурированныйиполуструктурированныйДанные.
4. База данных К-В
4.1 Основные понятия
относится к использованиюключевое значение(key-value
) хранится в базе данных, данные которойпара ключ-значениев видеорганизация,показательиместо хранения.
KV
Хранилище отлично подходит для того, чтобы не слишком увлекатьсяотношение данныхбизнес-данные. Он может эффективно уменьшитьчтение и запись дискараз, чемSQL
хранилище базы данныхесть лучшеЧтение и запись производительности, можно решитьРеляционная база данныхне может быть сохраненструктура данныхПроблема.
4.2 Общие базы данных K-V
4.2.1. Redis
Redis
это использованиеANSI C
написанооткрытый источник,Сеть поддержки,на основе памяти,необязательное сохранениеизхранилище ключей-значенийбаза данных.Redis
в настоящее время является самым популярнымхранилище ключей-значенийодна из баз данных.
4.2.2. Cassandra
Apache Cassandra
(обычно именуемый в сообществеC*
) представляет собой наборраспространяемый с открытым исходным кодом NoSQL
система базы данных. это было изначальноFacebook
разработан для хранениявходящиеи другие данные простого формата, установленныеGoogle BigTable
измодель данныхиAmazon Dynamo
изполностью распределенАрхитектура в одном.Cassandra
популярныйраспределенная структураСхема хранения данных.
4.2.3. Memcached
Memcached
Являетсяоткрытый источник,высокая производительность,распределеноСистема кэширования объектов памяти. для разгонной динамикиweb
приложения, снижающие нагрузку на реляционные базы данных. это может справитьсялюбое количество подключений,использоватьнеблокирующая сеть IO
. Поскольку его рабочий механизм состоит в том, чтобы открыть пространство в памяти, а затем создатьHash
поверхность,Memcached
самостоятельно управлять этимиHash
поверхность.
Memcached
Простой и мощный. Его простая конструкция способствуетбыстрое развертывание, легко найти проблемы, с которыми столкнулись, решить многобольшой кеш данных.
4.2.4. LevelDB
LevelDB
этоGoogle
развитыйпара ключ/значение(Key/Value Pair
)встроенныйсистема управления базами данныхбиблиотека программирования, с открытым исходным кодомBSD
Выдана лицензия.
4.3. Связанные функции
K-V
свойства, связанные с базой данных, дляRedis
Например:
4.3.1 Преимущества
- Чрезвычайно высокая производительность
Redis
Одна машина может поддерживать более10W
изTPS
.
- Богатые типы данных
Redis
Поддержка включаетString
,Hash
,List
,Set
,Sorted Set
,Bitmap
иHyperloglog
и другие структуры данных.
- богатые возможности
Redis
также поддерживаетpublish/subscribe
,Уведомление,key
Истекшийи другие характеристики.
4.3.2 Недостатки
-
Redis
делане может поддерживатьатомарностьиУпорство(A
иD
), поддерживает толькоизоляцияипоследовательность(I
иC
).
что здесь сказаноАтомарность не гарантируется, направлен на
Redis
изтранзакционная операция, потому что транзакцияОткат не поддерживается(roll back
), и потому чтоRedis
изоднопоточная модель,Redis
Нормальная работаатомный.
4.4 Сценарии применения
4.4.1. Применимые сценарии
- подходит для храненияИнформация о пользователе(Напримербеседа),конфигурационный файл,параметр,корзинаи Т. Д. Эта информация, как правило,
ID
монтировать.
4.4.2 Неприменимые сценарии
-
Не подходит для необходимости пройтиценностьсделать запрос вместоключчтобы узнать.
Key-Value
Пропуска вообще нет в базезапрос значенияспособ. -
Не подходит для храненияотношения между данными. существует
Key-Value
не может пройти в базедва или болееключ кСвязанные данные. -
Не подходит для нуждающихся в поддержкеделаместо действия. существует
Key-Value
в базе данныхпроисходит сбойневозможнооткат.
5. База документов
5.1 Основные понятия
база данных документовдляполуструктурированные данныесохранить какДокументациябазы данных. Базы данных документов обычно начинаются сJSON
илиXML
формат для хранения данных.
-
За счет базы документов
no-schema
особенности, можетместо храненияичитатьпроизвольные данные. -
из-за использованияФормат данныхда
JSON
илиBSON
,так какJSON
данныесамоописание, нет необходимости определять поле перед использованием, прочтитеJSON
серединанесуществующее полене вызоветSQL
Подобные синтаксические ошибки можно решить с помощью реляционных баз данных.Структура таблицыschema
Неудобно расширять.Проблема.
5.2 Общие базы данных документов
5.2.1. MongoDB
MongoDB
основан наРаспределенное хранилище файловбаза данных. Зависит отC++
язык письма. направленный наWEB
Приложение предоставляет расширяемыевысокая производительностьРешения для хранения данных.
MongoDB
находится междуреляционная база данныхинереляционная база данныхПромежуточный продукт — это функция в нереляционной базе данных.Наиболее обильные, больше всего похоже на реляционные базы данныхNoSQL
.
5.2.2. CouchDB
CouchDB
используетсяErlang
развитиеориентированный на документыизраспределенныйбаза данных для храненияполуструктурированныйданные, похожие наlucene
изindex
структура.
CouchDB
служба поддержкиRESTful API
, который используетJSON
в видеформат хранения,JavaScript
в видеязык запросов,MapReduce
иHTTP
в видеAPI
изNoSQL
база данных. Одной из примечательных особенностей являетсярепликация с несколькими мастерамиФункции. Кроме,CouchDB
Построен на мощномB-
механизм хранения деревавыше.
5.3. Связанные функции
база данных документовсоответствующие свойстваMongoDB
В качестве примера для иллюстрации:
5.3.1 Преимущества
-
Добавление полей простое, и его не нужно сначала выполнять, как в реляционной базе данных.
DDL
утверждениеИзменить структуру таблицы,кодчитать и писать прямоВот и все. -
легко совместимыйисторические данные. Для исторических данных, даже если нет нового поля, это не вызовет ошибки, а только вернетнулевой,В настоящее времяОбработка совместимости кодаВот и все.
-
Легко хранить сложные данные.
JSON
является мощнымязык описания, способный описывать сложныеструктура данных.
5.3.2 Недостатки
по сравнению страдиционная реляционная база данных, недостатки баз данных документов, в основном дляНесколько записей данныхизСлабая поддержка транзакций, который воплощается в следующем:
-
Atomicity
(атомарность): поддерживается толькоАтомарность на уровне одной строки/документа,не поддерживаетсяМногострочный,несколько документов,Атомарность с несколькими операторами. -
Isolation
(Изоляция): Уровень изоляции поддерживает толькоОтправлено на чтение(Read committed
) уровень, может вызватьнеповторяемое чтение,галлюцинацииПроблема. -
не поддерживаетсясложный запрос. Например
join
запрос, если нужноjoin
запрос, потребностьРаботать с базой данных несколько раз.
5.4 Сценарии применения
5.4.1. Применимые сценарии
-
Объем данныхБольшой или станет большим в будущем.
-
Структура таблицы не ясна,иполесуществуетУвеличение, такие как системы управления контентом, системы управления информацией.
5.4.2 Неприменимые сценарии
-
Нужно добавить в разные документыдела.
Document-Oriented
База данных не поддерживаеттранзакции между документами. -
требуется между несколькими документамисложный запрос,Например
join
работать.
6. Полнотекстовый поиск
6.1 Основные понятия
традиционная реляционная база данных, в основном черезпоказательдостигнутьБыстрый поискцель. существуетисследовать всебизнес,показательОн также бессилен, что в основном отражается в следующих аспектах:
-
Условия полнотекстового поиска можно свободноПерестановки, если удовлетворяет индекс, то индексочень большой.
-
полнотекстовый поискнечеткое соответствие,показательне в состоянии удовлетворить, использовать только
like
запрос, покаlike
запросполное сканирование таблицы,очень неэффективно.
Появление полнотекстовых поисковых систем — решение проблемы реляционных баз данных.Полнотекстовый поиск слабПроблема.
6.2 Обоснование
полнотекстовый поисковикТехнический принцип называетсяПеревернутый индекс(inverted index
), этоиндексный метод, основной принцип заключается в установлениисловоприбытьДокументацияиндекс чего-либо. Напротив, даположительный индекс, основной принцип заключается в установленииДокументацияприбытьсловоиндекс чего-либо.
- Теперь у нас есть следующая коллекция документов:
- положительный индексПолучите индекс следующим образом:
видимый,положительный индексПрименяется согласноимя файлаЗапроссодержание документа.
- простоПеревернутый индексследующее:
- с участиемчастота словинформационныйПеревернутый индексследующее:
видимый,Перевернутый индексПрименяется согласноКлючевые словачтобы узнатьсодержание документа.
6.3. Распространенные полнотекстовые поисковые системы
6.3.1. ElasticSearch
ElasticSearch
основан наApache Lucene
изпоисковый движок. это обеспечиваетраспределенный,мульти арендыПолнотекстовый поисковик.ElasticSearch
используетсяJava
разработаны, предоставлены извнеRESTful Web
интерфейс. в соответствии сDB-Engines
рейтинг,ElasticSearch
является самым популярнымкорпоративная поисковая система.
6.3.2. Solr
Solr
даApache Lucene
ПроектПлатформа корпоративного поиска с открытым исходным кодом. К его основным функциям относятсяПолнотекстовый поиск,попадание,многогранный поиск,динамическая кластеризация,Интеграция с базой данных,а такжебогатый текст(НапримерWord
,PDF
) обработки и так далее.Solr
высотаМасштабируемость, и обеспечиваетраспределенный поискирепликация индекса.
6.4. Связанные функции
полнотекстовый поиск вElasticSearch
Например:
6.4.1 Преимущества
-
Высокая эффективность запросов, который относится кМассивные данныепровестипочти в реальном времениобработка.
-
Масштабируемость
-
на основекластерокружающая среда может быть удобнойМасштабирование, могу нести
PB
данные уровня. -
служба поддержкиВысокая доступность,
ElasticSearch
Кластер является эластичным и гибким для обнаружения новых или отказавших узлов,реорганизацияиперебалансироватьданные, убедитесь, что данныеБезопасностьиможно посетить.
6.4.2 Недостатки
-
бизнес
ACID
отсутствие поддержки,единый документданные поддерживаютсяACID
из. занесколько документовизтранзакционная операция, который не поддерживает транзакциинормальный откат. служба поддержки(Isolation
) изоляция (на основеоптимистичный механизм блокировки)и(Durability
) настойчивость, не поддерживает(Atomicity
) атомарность, (Consistency
)последовательность. -
Для аналогичных баз данных,иностранный ключпровестиАссоциация нескольких таблицПоддержка сложных операций слабая.
-
прочти и напишиопределенныйзадерживать, данные записываются, самый быстрый
1s
можно восстановить. -
возобновитьБолее низкая производительность, базовая реализациясначала удалите данные,Сновавставить новые данные.
-
Использование большого объема памяти,так как
Lucene
будетиндексный разделзагружен вОЗУсередина.
6.5 Сценарии применения
6.5.1. Применимые сценарии
- распределенныйпоисковый движокиМеханизм анализа данных.
- Полнотекстовый поиск,структурированный поиска такжеанализ данных.
- для массивных данныхпочти в реальном времениобработка,Массивные данныеразбросаны понесколько серверовподниматьсяместо храненияизабрать.
6.5.2 Неприменимые сценарии
-
потребности в данныхЧастые обновления.
-
необходимостьсложный реляционный запрос.
7. Графическая база данных
7.1 Основные понятия
граф базы данныхприменениетеория графовместо храненияорганизациямеждуинформация об отношениях. Самый распространенный пример — отношения между людьми в социальных сетях.Реляционная база данныххранить этореляционные данныеЭффект нехороший, его запроссложный,медленный,вне ожидания.
граф базы данныхУникальный дизайн компенсирует этот недостаток, решаяотносительныйбаза данныхместо храненияиОбработка сложных реляционных данныхСлабый функционал.
7.2 Общие графовые базы данных
7.2.1. Neo4j
Neo4j
Являетсявысокая производительность,NOSQL
граф базы данных, будетструктурированные данныесохранить в«Графика в Интернете»вместо"Таблица". этовстроенный,дисковый, с полнойОсобенности сделкиизJava
двигатель постоянства.
Neo4j
также можно рассматривать какВысокопроизводительный графический движок. программисты работают вОбъектно-ориентированный,Гибкая структура сетивниз вместострогий,статическийизТаблица.
7.2.2. ArangoDB
ArangoDB
ЯвляетсяРодная мультимодельсистема базы данных. Поддержка системы баз данныхтриважныймодель данных(ключ/значение,Документация,графика).
ArangoDB
содержитядро базы данныхиЕдиный язык запросов AQL
(ArangoDB
язык запросов). Язык запросовдекларативный, позволяяодин запроссерединакомбинацияразныешаблон доступа к данным.ArangoDB
ЯвляетсяNoSQL
система баз данных, ноAQL
во многом сSQL
похожи.
7.3 Обоснование
Графика база данных доNeo4j
Например:
-
Neo4j
использоватьструктура данныхСреднее изображение (graph
) концепция для выполнениямоделирование. -
Neo4j
Две основные концепцииузелибоковая сторона.узелвыражатьорганизация,боковая сторонаозначаетотношения между сущностями.узелибоковая сторонамогут иметь своиАтрибуты. разныеорганизациячерез различныесвязьсоединены в комплексграф объектов.
Для реляционных данных две базы данныхструктура храненияОни следующие:
существуетNeo4j
середина,узел храненияиспользуется, когдаindex-free adjacency
,Сейчаскаждый узелвсе указывают насоседний узелизуказатель. так что вO(1)
изсложностьнайдено внутрисоседний узел. Кроме того, согласно официальному заявлению, вNeo4j
серединабоковая сторонаs самое главное, даfirst-class entities
,необходимостьотдельное хранилище. Это выгодно вОбход графакогдаускорить, он также прост в использованиилюбое направлениетраверс.
7.4. Связанные функции
7.4.1 Преимущества
- высокая производительность
обход графадаструктура данных графаимеет единственный алгоритм, т.е.узелзапускается, в соответствии с его подключеннымсвязь, вы можете быстро и легко найти егососедний узел. Этот метод поиска данных неразмер данныхвоздействие, потому чтоЗапрос близостивсегда ищитеограниченные местные данные, не правильновся база данныхискать.
- Гибкость дизайна
структура данныхестественные свойства растяжения и егонеструктурированныйизФормат данных, так что дизайн графовой базы данных может иметь большойМасштабируемостьигибкость. в связи с изменением спросаузел,связьиАтрибуты, не влияетисходные данныенормальное использование.
- Гибкость разработки
модель данныхпрямо в точку, От обсуждения требований к разработке и внедрению программы серьезных изменений в принципе не будет.
- Полная поддержка ACID
в отличие от другихNoSQL
база данных,Neo4j
также полностьюОсобенности управления транзакциями,полностью поддерживаюACID
Управление транзакциями.
7.4.2 Недостатки
-
узел,связьи ихАтрибутыколичествоограничение.
-
не поддерживаетсярасколоть.
7.5 Сценарии применения
7.5.1. Применимые сценарии
-
в некоторыхтесная взаимосвязьприложения для работы с данными, такие какСоциальная сеть.
-
система рекомендаций, преобразовать данные вформа графикапроизводительность, очень полезная для формулировки рекомендаций.
7.5.2 Неприменимые сценарии
-
записывать многооснованный на событииданные, такие как записи журнала, данные датчиков.
-
в больших масштабахраспределенные данныепроцесс, аналогичный
Hadoop
. -
Неприменимо следует хранить вРеляционная база данныхсерединаструктурированные данные.
-
хранение двоичных данных.
резюме
оРеляционная база данныхиNoSQL
база данныхотбора, часто необходимо учитывать несколько показателей:
- Объем данных
- параллелизм
- в реальном времени
- Требования соответствия
- Чтение и запись дистрибутива
- тип данных
- безопасность
- Стоимость эксплуатации и обслуживания
Общие ссылки на выбор системной базы данных следующие:
тип системы | Выбор базы данных |
---|---|
Внутренняя система управления предприятием | Например, операционные системы с небольшим объемом данных и небольшим параллелизмом являются первым выбором для рассмотрения.Реляционная база данных |
Система интернет-трафика | Например, на странице одного продукта электронной коммерции рассмотрите возможность выбора в фоновом режимеРеляционная база данных, стойка регистрации рассматривает возможность выборабаза данных в памяти |
лог-система | Необработанные данныеподумайте о выборестолбчатая база данных,поиск по журналуподумайте о выбореПеревернутый индекс |
поисковая система | Например, поиск на месте, неуниверсальный поиск, поиск товаров и выбор фона.Реляционная база данных, стойка регистрации рассматривает возможность выбораПеревернутый индекс |
транзакционная система | таких как управление запасами, сделки, бухгалтерский учет, рассмотрение вариантовРеляционная база данных + кешировать базу данных + протокол соответствия |
Автономные вычисления | Например, для анализа большого объема данных рассмотрите возможность выборастолбчатая база данныхилиРеляционная база данныхвсе будет хорошо |
вычисления в реальном времени | Например, мониторинг в реальном времени, вы можете рассмотреть возможность выборабаза данных в памятиилистолбчатая база данных |
В практике проектирования необходимо основываться на спросе и архитектуре, ориентированной на бизнес, независимо от выбора.RDB
/NoSQL
/DRDB
. Оно должно быть ориентировано на спрос, а окончательное решение для хранения данных должно учитывать различныекомпромисскомплексный дизайн.
Добро пожаловать в технический публичный аккаунт: Zero One Technology Stack
Эта учетная запись будет продолжать делиться сухими товарами серверных технологий, включая основы виртуальных машин, многопоточное программирование, высокопроизводительные фреймворки, асинхронное ПО, промежуточное ПО для кэширования и обмена сообщениями, распределенные и микросервисы, материалы для обучения архитектуре и расширенные учебные материалы и статьи.