База данных в оперативной памяти ( IMDB , а также основная система база памяти или MMDB или базы данных резидентных ) представляет собой систему управления базами данных , которая в первую очередь зависит от основной памяти для хранения компьютерных данных . Это контрастирует с системами управления базами данных, в которых используется дисковый механизм хранения . Базы данных в памяти работают быстрее, чем базы данных, оптимизированные для диска, потому что доступ к диску медленнее, чем доступ к памяти, внутренние алгоритмы оптимизации проще и выполняют меньше инструкций ЦП. Доступ к данным в памяти сокращает время поискапри запросе данных, что обеспечивает более быструю и предсказуемую производительность, чем диск. [1] [2]
Приложения, в которых время отклика имеет решающее значение, например, работающие с оборудованием телекоммуникационной сети и мобильные рекламные сети, часто используют базы данных в оперативной памяти. [3] IMDB приобрели большую популярность, особенно в области анализа данных , начиная с середины 2000-х годов - в основном из-за многоядерных процессоров, которые могут работать с большой памятью, и из-за более дешевой оперативной памяти . [4] [5]
Потенциальным техническим препятствием при хранении данных в памяти является непостоянство оперативной памяти. В частности, в случае отключения питания, преднамеренного или иного, данные, хранящиеся в энергозависимой RAM , теряются. [6] С внедрением технологии энергонезависимой памяти с произвольным доступом базы данных в оперативной памяти смогут работать на полной скорости и сохранять данные в случае сбоя питания. [7] [8] [9]
Поддержка ACID
В простейшей форме базы данных основной памяти хранят данные на устройствах энергозависимой памяти . Эти устройства теряют всю сохраненную информацию, когда устройство теряет питание или перезагружается. В этом случае можно сказать, что IMDB не поддерживают «долговечность» свойств ACID (атомарность, согласованность, изоляция, долговечность). IMDB на основе энергозависимой памяти могут поддерживать и часто поддерживают три других свойства ACID: атомарность, согласованность и изоляцию.
Многие IMDB увеличили надежность с помощью следующих механизмов:
- Файлы моментальных снимков или изображения контрольных точек , которые записывают состояние базы данных в данный момент времени. Система обычно генерирует их периодически или, по крайней мере, когда IMDB выполняет контролируемое отключение. Хотя они обеспечивают определенную устойчивость данных (в том смысле, что база данных не теряет все в случае сбоя системы), они предлагают только частичную долговечность (поскольку «недавние» изменения будут потеряны). Для полной долговечности они нуждаются в дополнении с одним из следующих:
- Ведение журнала транзакций , при котором изменения в базе данных записываются в файл журнала и упрощается автоматическое восстановление базы данных в памяти.
- Энергонезависимый DIMM ( NVDIMM ), модуль памяти с интерфейсом DRAM, часто сочетающийся с флеш-памятью NAND для энергонезависимой защиты данных. Первые решения NVDIMM были разработаны с суперконденсаторами вместо батарей для резервного источника питания. С этим хранилищем IMDB может безопасно выйти из своего состояния после перезагрузки.
- Энергонезависимая память с произвольным доступом (NVRAM), обычно в форме статической RAM с резервным питанием от батареи (батарея RAM) или электрически стираемое программируемое ПЗУ ( EEPROM ). С помощью этого хранилища перезагружающаяся система IMDB может восстановить хранилище данных из его последнего согласованного состояния.
- Реализации высокой доступности , основанные на репликации базы данных с автоматическим переключением на идентичную резервную базу данных в случае отказа основной базы данных. Для защиты от потери данных в случае полного отказа системы репликация IMDB обычно используется в дополнение к одному или нескольким механизмам, перечисленным выше.
Некоторые IMDB позволяют схеме базы данных указывать различные требования к устойчивости для выбранных областей базы данных - таким образом, быстро изменяющиеся данные, которые можно легко регенерировать или которые не имеют смысла после выключения системы, не нужно будет регистрировать для обеспечения долговечности (хотя для обеспечения высокой доступности ее необходимо будет реплицировать), тогда как информация о конфигурации будет помечена как требующая сохранения.
Гибриды с дисковыми базами данных
Хотя хранение данных в памяти дает преимущества в производительности, это дорогостоящий метод хранения данных. Подход к реализации преимуществ хранения в памяти при ограничении затрат заключается в хранении наиболее часто используемых данных в памяти, а остальных на диске. Поскольку нет жесткого различия между тем, какие данные следует хранить в памяти, а какие - на диске, некоторые системы динамически обновляют место хранения данных в зависимости от использования данных. [10] Этот подход немного отличается от кэширования , при котором кэшируются данные , к которым осуществлялся последний доступ , в отличие от данных , к которым наиболее часто осуществлялся доступ, которые хранятся в памяти.
Гибкость гибридных подходов позволяет найти баланс между:
- производительность (которая повышается за счет сортировки, хранения и извлечения указанных данных полностью в памяти, а не на диске)
- стоимость, потому что более дешевый жесткий диск можно заменить большим объемом памяти
- упорство
- форм-фактор, потому что чипы RAM не могут приблизиться к плотности небольшого жесткого диска
В индустрии облачных вычислений термины «температура данных» или «горячие данные» и «холодные данные» появились для описания того, как данные хранятся в этом отношении. [11] Горячие данные используются для описания критически важных данных, к которым требуется частый доступ, в то время как холодные данные описывают данные, которые необходимы реже и менее срочно, например, данные, хранящиеся для целей архивирования или аудита. Горячие данные должны храниться способами, обеспечивающими быстрое извлечение и модификацию, часто выполняемые в памяти, но не всегда. С другой стороны, холодные данные можно хранить более экономичным способом, и считается, что доступ к данным, вероятно, будет медленнее по сравнению с горячими данными. Хотя эти описания полезны, конкретного определения терминов «горячее» и «холодное» не существует. [11]
Эффективность производства - еще одна причина для выбора комбинированной системы баз данных в памяти и на диске. Некоторые линейки устройств, особенно в сфере бытовой электроники , включают некоторые устройства с постоянным хранилищем, а другие используют память для хранения ( например, телевизионные приставки ). Если для таких устройств требуется система баз данных, производитель может принять гибридную систему баз данных по более низкой и высокой стоимости и с меньшей настройкой кода, вместо использования отдельных баз данных в памяти и на диске, соответственно, для бездисковых и бездисковых баз данных. дисковые продукты.
Первый механизм базы данных, поддерживающий таблицы как в памяти, так и на диске в одной базе данных, WebDNA , был выпущен в 1995 году.
Память для хранения
Другой вариант включает в себя большие объемы энергонезависимой памяти на сервере, например микросхемы флэш-памяти в качестве адресуемой памяти, а не структурированные как дисковые массивы. База данных в этой форме памяти сочетает в себе очень быструю скорость доступа с устойчивостью при перезагрузках и потерях питания. [12]
Смотрите также
- Сравнение систем управления реляционными базами данных
- Распределенное хранилище данных
- Встроенные базы данных
- Обработка в памяти
- Список баз данных в памяти
- NoSQL
- NewSQL
Заметки
- ^ «Определение: база данных в памяти» . WhatIs.com . Проверено 19 января 2013 года .
- ^ Майкл Визард. «Рост баз данных в оперативной памяти» . Slashdot. Архивировано из оригинала на 1 февраля 2013 года . Проверено 19 января 2013 года .
- ^ «TeleCommunication Systems становится реселлером TimesTen; операторы мобильной связи и операторы мобильной связи получают платформу реального времени для предоставления услуг на основе определения местоположения» . Деловой провод . 2002-06-24.
- ^ «Падение цен на оперативную память приводит к всплеску базы данных в оперативной памяти» . SAP . Проверено 19 января 2013 года .
- ^ «Рост количества баз данных в оперативной памяти влияет на широкий спектр рабочих мест» . Dice.com . 13 июля 2012 г.
- ^ «Вычисления в памяти: что происходит при отключении питания?» . Проверено 10 марта 2017 года .
- ^ Исторически оперативная память не использовалась в качестве постоянного хранилища данных, поэтому потеря данных в этих случаях не была проблемой. Сохранение всей системы с энергонезависимой памятью http://research.microsoft.com/apps/pubs/default.aspx ? id = 160853
- ^ Мрачное будущее флэш-памяти NAND http://research.microsoft.com/apps/pubs/default.aspx?id=162804
- ^ AGIGARAM NVDIMM сохраняет данные при сбое системы https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system- отказ
- ^ «Терадата разумно вступает в борьбу с оперативной памятью ZDNet» . Проверено 28 июля 2017 года .
- ^ а б «В чем разница: горячее и холодное хранение данных» . Проверено 28 июля 2017 года .
- ^ «Воистину, это ЗОЛОТОЕ ГОДА хранения».
Рекомендации
- Джек Белзер. Энциклопедия компьютерных наук и технологий - Том 14: Системы очень больших баз данных с нулевой памятью и марковским источником информации . Марсель Деккер Inc. ISBN 978-0-8247-2214-2.
Внешние ссылки
- Возрождение базы данных в памяти
- Специальный выпуск о системах баз данных с оперативной памятью, бюллетень IEEE Data Engineering Bulletin