Об общих технических решениях NoSQL и их выборе

Redis задняя часть база данных HBase NoSQL MongoDB Elasticsearch поисковый движок Apache Cassandra Solr

предисловие

В контексте Интернета и больших данных все больше и больше веб-сайтов и систем приложений должны поддерживатьМассовое хранение данных,большое количество одновременных запросов,Высокая доступность,Высокая масштабируемостьи другие характерные требования. традиционныйРеляционная база данныхБыло трудно справиться с одинаковыми потребностями, разнообразием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. идти ссловарная таблицанайти вСтроки соответствуют числам(выполняет только одно сравнение строк).
  2. использоватьномерПерейти к списку совпадений, позиция на совпадении установлена ​​на1.
  3. Пучокразные столбцыизрезультат матчапровестибитовая операцияполучить все условияиндекс записи.
  4. использовать этоПодстрочная сборкаиз финаланабор результатов.
  • подходит для агрегации

  • Подходит для больших объемов данных, а не для небольших данных

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

零壹技术栈

Эта учетная запись будет продолжать делиться сухими товарами серверных технологий, включая основы виртуальных машин, многопоточное программирование, высокопроизводительные фреймворки, асинхронное ПО, промежуточное ПО для кэширования и обмена сообщениями, распределенные и микросервисы, материалы для обучения архитектуре и расширенные учебные материалы и статьи.