Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Резидентная база данных (англ. in-memory database, IMDB)

Лекция



Привет, Вы узнаете о том , что такое резидентная база данных, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое резидентная база данных, in-memory database, imdb , настоятельно рекомендую прочитать все из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL.

резидентная база данных (англ. in-memory database , IMDB) — база данных, размещаемая в оперативной памяти. Резидентная СУБД — система управления резидентными базами данных, один из видов программных систем, работающих в парадигме резидентных вычислений (англ. in-memory computing).

Резидентные СУБД за счет оптимизаций, возможных в условиях хранения и обработки в байтоадресуемой оперативной памяти, обеспечивают лучшее быстродействие, чем СУБД, работающие с базами данных на устройствах постоянного хранения, как правило, с блочной организацией, и подключаемых по шинным или сетевым интерфейсам. При этом размер резидентной базы данных ограничен емкостью оперативной памяти узла. Для ряда резидентных СУБД реализуются техники репликации и сегментирования (англ. sharding), позволяющие работать с единой резидентной базой данных на нескольких узлах. Поскольку оперативная память энергозависима, то используется запись с предварительным журналированием на энергонезависимом устройстве для обеспечения целостности базы данных при внезапной перезагрузке, то есть, работа с резидентной базой не исключает зависимости от производительности подсистемы ввода-вывода (хотя и снижает ее).

Широко применяются для приложений, где время отклика имеет решающее значение, в частности, в задачах управления телекоммуникационным оборудованием, для торгов в реальном времени. В качестве эффективных сценариев для применения резидентных баз данных отмечаются аналитика в реальном времени и гибридная транзакционно-аналитическая обработка (англ. hybrid transactional/analytical processing (HTAP)).

Первые реляционные резидентные СУБД появились в 1990-х годы, среди них — SolidDB[en] (1992) и Timesten[en] (1997, приобретена Oracle в 2005 году). Популярность направление получило с удешевлением удельной стоимости серверных модулей оперативной памяти и развитием резидентной СУБД SAP Hana (2010). К середине 2010-х годов дополнительными механизмами для работы с резидентными базами данных оснащены основные коммерческие реляционные СУБД (Oracle Database — in-memory option, DB2 — Blu, MS SQL Server). Другим получившим развитие в 2010-е годы направлением в рамках движения NoSQL стали резидентные СУБД класса «ключ — значение», обеспечивающие элементарные возможности доступа по ключу и высокую производительность в условиях горизонтальной масштабируемости.

Потенциальным техническим препятствием при хранении данных в памяти является непостоянство оперативной памяти. В частности, в случае отключения питания, преднамеренного или иного, данные, хранящиеся в энергозависимой RAM , теряются. С внедрением технологии энергонезависимой памяти с произвольным доступом базы данных в оперативной памяти смогут работать на полной скорости и сохранять данные в случае сбоя питания.

Поддержка ACID : атомарность, последовательность, изоляция, долговечность.

В простейшей форме базы данных основной памяти хранят данные на устройствах энергозависимой памяти . Эти устройства теряют всю сохраненную информацию, когда устройство теряет питание или перезагружается. В этом случае можно сказать, что IMDB не поддерживают «долговечность» свойств ACID (атомарность, согласованность, изоляция, долговечность). IMDB на основе энергозависимой памяти могут поддерживать и часто поддерживают три других свойства ACID: атомарность, согласованность и изоляцию.

Многие IMDB увеличили надежность с помощью следующих механизмов:

  • Файлы моментальных снимков или изображения контрольных точек , которые записывают состояние базы данных в данный момент времени. Об этом говорит сайт https://intellect.icu . Система обычно генерирует их периодически или, по крайней мере, когда IMDB выполняет контролируемое отключение. Хотя они обеспечивают определенную устойчивость данных (в том смысле, что база данных не теряет все в случае сбоя системы), они предлагают только частичную долговечность (поскольку «недавние» изменения будут потеряны). с одним из следующих:
  • Ведение журнала транзакций , при котором изменения в базе данных записываются в файл журнала и упрощается автоматическое восстановление базы данных в памяти.
  • Энергонезависимый DIMM ( NVDIMM ), модуль памяти с интерфейсом DRAM, часто сочетающийся с флеш-памятью NAND для энергонезависимой защиты данных. Первые решения NVDIMM были разработаны с суперконденсаторами вместо батарей для резервного источника питания. С этим хранилищем IMDB может безопасно выйти из своего состояния после перезагрузки.
  • Энергонезависимая память с произвольным доступом (NVRAM), обычно в форме статической RAM с резервным питанием от батареи (батарея RAM) или электрически стираемое программируемое ПЗУ ( EEPROM ). С помощью этого хранилища перезагружающаяся система IMDB может восстановить хранилище данных из его последнего согласованного состояния.
  • Реализации высокой доступности , основанные на репликации базы данных с автоматическим переключением на идентичную резервную базу данных в случае отказа основной базы данных. Для защиты от потери данных в случае полного отказа системы репликация IMDB обычно используется в дополнение к одному или нескольким механизмам, перечисленным выше.

Некоторые IMDB позволяют схеме базы данных указывать различные требования к долговечности для выбранных областей базы данных - таким образом, быстро изменяющиеся данные, которые можно легко регенерировать или которые не имеют смысла после выключения системы, не нужно регистрировать для обеспечения долговечности (хотя для обеспечения высокой доступности ее необходимо будет реплицировать), тогда как информация о конфигурации будет помечена как требующая сохранения.

Гибриды с базами данных на диске

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

Гибкость гибридных подходов позволяет найти баланс между:

  • производительность (которая повышается за счет сортировки, хранения и извлечения указанных данных полностью в памяти, а не на диске)
  • стоимость, потому что более дешевый жесткий диск можно заменить большим объемом памяти
  • упорство
  • форм-фактор, потому что чипы RAM не могут приблизиться к плотности небольшого жесткого диска

В индустрии облачных вычислений термины «температура данных» или «горячие данные» и «холодные данные» появились для описания того, как данные хранятся в этом отношении. [11] Горячие данные используются для описания критически важных данных, к которым требуется частый доступ, в то время как холодные данные описывают данные, которые требуются реже и менее срочно, например, данные, хранящиеся для целей архивирования или аудита. Горячие данные должны храниться таким образом, чтобы предлагать быстрое извлечение и модификацию, что часто достигается за счет хранения в памяти, но не всегда. С другой стороны, холодные данные можно хранить более экономичным способом, и считается, что доступ к данным, вероятно, будет медленнее по сравнению с горячими данными. Хотя эти описания полезны, конкретного определения терминов «горячее» и «холодное» не существует.

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

Первый механизм базы данных, поддерживающий таблицы как в памяти, так и на диске в единой базе данных, WebDNA , был выпущен в 1995 году.

Память для хранения

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

Продукты

Существует ряд коммерческих и открытых реализаций баз данных в памяти. К ним относятся (в алфавитном порядке):

  • Apache Derby - может быть настроен как чистая база данных в памяти
  • Altibase - Гибридная СУБД
  • Berkeley DB - может быть настроена как чистая база данных в памяти
  • Exasol
  • eXtremeDB - база данных в оперативной памяти с опциями высокой доступности, кластера и SQL.
  • H2 - База данных Java, новый проект от инициатора HSQLDB, может быть настроена как чистая база данных в памяти
  • HSQLDB - может быть настроен как чистая база данных в памяти
  • IBM Informix Warehouse Accelerator
  • IBM solidDB - реляционная СУБД в оперативной памяти
  • IBM Cognos TM1 - база данных OLAP , один из первых продуктов в этой области, запущенный в 1984 г.
  • InfoZoom
  • JetstreamDB - механизм хранения Java Object-Graph и база данных в памяти
  • LucaNet - специальное программное обеспечение для бизнес-аналитики в бухгалтерском учете
  • Microsoft SQL Server 2014 ( Hekaton )
  • MySQL - поставляется с кластерным сервером для распределенной базы данных в памяти.
  • NexusDB - это реляционная база данных в памяти, которая часто используется в среде Embacadero Delphi.
  • NF1DB - база данных Java в памяти
  • Оракул раз десять
  • Опция Oracle In-Memory в Oracle Enterprise Edition
  • Raima - база данных в памяти с опциями для обеспечения высокой доступности и SQL.
  • Redis - система "ключ-значение"
  • SAP HANA - база данных основной памяти платформы HANA
  • SQLite - может разделять основную память и жесткие диски
  • Tarantool - в сетке данных памяти
  • TIBCO ActiveSpaces - в базе данных сетки памяти
  • RxDB - Реактивная база данных JavaScript

Критика

Термин «база данных в оперативной памяти» не совсем ясен. Обычные базы данных также обычно используют основную память , чтобы избежать медленных операций ввода-вывода, как на жестком диске. В зависимости от конфигурации системы вся база данных также может храниться в основной памяти. Кроме того, структура данных или индекса обычно более важна для быстродействия системы баз данных, чем скорость доступа к носителю данных. Только оптимизация этих структур данных в основной памяти без структур для доступа ввода-вывода представляет отличие от обычных баз данных.

Высокая скорость в «базах данных в памяти» частично достигается за счет ограничения возможностей сохранения и согласованности . Это вполне законно для баз данных, которые в первую очередь предназначены для чтения, но проблематично для других случаев использования. Чтобы компенсировать эти проблемы, некоторые продукты, такие как Redis и MySQL, также часто объединяются, и «базы данных в памяти» затем служат для кеширования . [8

Вау!! 😲 Ты еще не читал? Это зря!

Данная статья про резидентная база данных подтверждают значимость применения современных методик для изучения данных проблем. Надеюсь, что теперь ты понял что такое резидентная база данных, in-memory database, imdb и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

создано: 2021-03-13
обновлено: 2021-03-13
132265



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL

Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL