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