Лекция
Привет, Вы узнаете о том , что такое резидентная база данных, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое резидентная база данных, 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 , теряются. С внедрением технологии энергонезависимой памяти с произвольным доступом базы данных в оперативной памяти смогут работать на полной скорости и сохранять данные в случае сбоя питания.
В простейшей форме базы данных основной памяти хранят данные на устройствах энергозависимой памяти . Эти устройства теряют всю сохраненную информацию, когда устройство теряет питание или перезагружается. В этом случае можно сказать, что IMDB не поддерживают «долговечность» свойств ACID (атомарность, согласованность, изоляция, долговечность). IMDB на основе энергозависимой памяти могут поддерживать и часто поддерживают три других свойства ACID: атомарность, согласованность и изоляцию.
Многие IMDB увеличили надежность с помощью следующих механизмов:
Некоторые IMDB позволяют схеме базы данных указывать различные требования к долговечности для выбранных областей базы данных - таким образом, быстро изменяющиеся данные, которые можно легко регенерировать или которые не имеют смысла после выключения системы, не нужно регистрировать для обеспечения долговечности (хотя для обеспечения высокой доступности ее необходимо будет реплицировать), тогда как информация о конфигурации будет помечена как требующая сохранения.
Хотя хранение данных в памяти дает преимущества в производительности, это дорогостоящий метод хранения данных. Подход к реализации преимуществ хранения в памяти при ограничении затрат заключается в хранении наиболее часто используемых данных в памяти, а остальные на диске. Поскольку нет жесткого различия между тем, какие данные следует хранить в памяти, а какие - на диске, некоторые системы динамически обновляют места хранения данных в зависимости от использования данных. [10] Этот подход немного отличается от кэширования , при котором кэшируются данные , к которым осуществлялся последний доступ , в отличие от данных , к которым наиболее часто осуществлялся доступ, которые хранятся в памяти.
Гибкость гибридных подходов позволяет найти баланс между:
В индустрии облачных вычислений термины «температура данных» или «горячие данные» и «холодные данные» появились для описания того, как данные хранятся в этом отношении. [11] Горячие данные используются для описания критически важных данных, к которым требуется частый доступ, в то время как холодные данные описывают данные, которые требуются реже и менее срочно, например, данные, хранящиеся для целей архивирования или аудита. Горячие данные должны храниться таким образом, чтобы предлагать быстрое извлечение и модификацию, что часто достигается за счет хранения в памяти, но не всегда. С другой стороны, холодные данные можно хранить более экономичным способом, и считается, что доступ к данным, вероятно, будет медленнее по сравнению с горячими данными. Хотя эти описания полезны, конкретного определения терминов «горячее» и «холодное» не существует.
Эффективность производства является еще одной причиной выбора комбинированной системы баз данных в памяти и на диске. Некоторые линейки устройств, особенно в сфере бытовой электроники , включают некоторые устройства с постоянным хранилищем, а другие используют память для хранения ( например, телевизионные приставки ). Если для таких устройств требуется система баз данных, производитель может принять гибридную систему баз данных по более низкой и высокой стоимости и с меньшей настройкой кода, вместо использования отдельных баз данных в памяти и на диске, соответственно, для бездисковых и бездисковых баз данных. дисковые продукты.
Первый механизм базы данных, поддерживающий таблицы как в памяти, так и на диске в единой базе данных, WebDNA , был выпущен в 1995 году.
Другой вариант включает в себя большие объемы энергонезависимой памяти на сервере, например микросхемы флэш-памяти в качестве адресуемой памяти, а не структурированные как дисковые массивы. База данных в этой форме памяти сочетает в себе очень высокую скорость доступа с устойчивостью при перезагрузках и потерях питания.
Существует ряд коммерческих и открытых реализаций баз данных в памяти. К ним относятся (в алфавитном порядке):
Термин «база данных в оперативной памяти» не совсем ясен. Обычные базы данных также обычно используют основную память , чтобы избежать медленных операций ввода-вывода, как на жестком диске. В зависимости от конфигурации системы вся база данных также может храниться в основной памяти. Кроме того, структура данных или индекса обычно более важна для быстродействия системы баз данных, чем скорость доступа к носителю данных. Только оптимизация этих структур данных в основной памяти без структур для доступа ввода-вывода представляет отличие от обычных баз данных.
Высокая скорость в «базах данных в памяти» частично достигается за счет ограничения возможностей сохранения и согласованности . Это вполне законно для баз данных, которые в первую очередь предназначены для чтения, но проблематично для других случаев использования. Чтобы компенсировать эти проблемы, некоторые продукты, такие как Redis и MySQL, также часто объединяются, и «базы данных в памяти» затем служат для кеширования . [8
Данная статья про резидентная база данных подтверждают значимость применения современных методик для изучения данных проблем. Надеюсь, что теперь ты понял что такое резидентная база данных, in-memory database, imdb и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL
Комментарии
Оставить комментарий
Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL
Термины: Базы данных, знаний и хранилища данных. Big data, СУБД и SQL и noSQL