Interested Article - InfinityDB

InfinityDB является встраиваемой системой управления базами данных , написанной на языке Java , которая размещается в портативных устройствах, серверах, рабочих станциях и в распределенных системах. Проект основан на запатентованной открытой параллельной архитектуре B-дерева , которая позволяет достичь высокой производительности без риска сбоев . Данные хранятся в встроенном файле БД и возвращаются из него с помощью InfnityDB API , что позволяет получить прямой доступ к элементам переменной длины. Клиенты базы данных могут создать традиционные отношения, а также специализированные модели, которые непосредственно удовлетворяют потребности зависимого приложения. Нет никаких ограничений на количество элементов, размер базы данных или размер Java Virtual Machine , таким образом, InfinityDB может функционировать в маленькой среде, которая обеспечивает оперативную память, а также может масштабироваться к большим системам. Традиционные отношения и специализированные модели могут быть направлены к одному и тому же файлу базы данных. InfinityDB может быть оптимизирована для стандартных отношений, а также всех других типов данных, что позволяет клиентским приложениям работать со скоростью как минимум одного миллиона операций в секунду в виртуальной системе с 8 ядрами.

Реляционная и специализированная модель данных в InfinityDB

Прямой доступ на уровне ядра через простые или составные ключи может сохранять и извлекать в одной операции записи переменной длины со значениями переменной длины. Значения могут быть примитивными типами данных Java: строки, небольшие символьные или байтовые массивы, байтовые строки. Высокоуровневые структуры, которые комбинируют простые или составные значения, включают в себя группы для неограниченных по размеру записей, большие символьные объекты (CLOB’s), большие двоичные объекты ( BLOB ), неограниченные разреженные массивы , неограниченные наборы значений, графов, деревьев или полнотекстовых индексов. Многопоточный доступ поддерживается на одном ядре с внутренними мерами защиты, и на многоядерном процессоре с полностью параллельной многопоточной обработкой на множестве ядер. Нет предела числу атрибутов в целом или числу атрибутов за запись. Документация базы данных содержит примеры кода, иллюстрирующие это. База данных может представлять реляционные а также специализированные структуры данных одновременно, не требуя явного обновления схемы при расширении и изменении структуры.

Entity-Attribute-Value модель

Пространство элементов в InfinityDB имеет опцию для использования модели («Сущность-атрибут-значение»), в которой эту тройку можно считать 'оператором' или 'элементом'. Тройки могут быть многозначным. Понятие реляционного индекса заменено 'инверсией' тройки Entity-Attribute-Value, в котором у сохраненного элемента есть объект, инвертированное значение и атрибут, замененный 'обратным' атрибутом. Этот подход позволяет приложениям предоставлять пользователям любое число интуитивных навигационных путей без запроса.

Предназначен для высокой производительности и минимальных административных потребностей

Каждый экземпляр InfinityDB хранит данные в одном файле базы данных и не требует дополнительной регистрации или отката файлов какого-либо типа. Согласованность базы данных гарантируется функцией Commit, которая может вызываться так часто, как того требует приложение. В случае сбоя питания или другой неисправности оборудования, база данных гарантированно будет соответствовать статусу завершения последнего Commit’а. InfinityDB минимизирует размер своего файла базы данных с помощью четырёх типов сжатия данных ( префиксный код , suffix, Zlib и UTF-8 ).

Продукты

Особенности InfinityDB Version 1.0:

  • 100K случайных или последовательных вставок, удалений или извлечений в секунду для операций в кэше в 3 ГГц
  • Сжатие данных колеблется приблизительно от одного до десяти раз
  • На практике были базы данных до 250 ГБ.

Особенности InfinityDB Version 2.0:

  • ACID совместимые расширенные транзакции
  • Использование (англ.) , чтобы защитить длинные транзакции
  • Восстановление непротиворечивости в InfinityDB без потребности в регистрации и откатах.

Особенности InfinityDB Version 3.0:

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

История

Роджер Л. Дерэн спроектировал и разработал механизм InfinityDB в конце 1980-х и имеет патент США 5283894. Механизм InfinityDB был впервые реализован на Intel 8088 на языке ассемблере в спортивном редактор видео ROSCOR (RSVE), который был лицензирован для команды NFL в 1980 году. Lexicon купил RSVE в 1989 году, и значительно расширил размещение на все типы профессиональных и спортивных колледжей.

Использование all-JAVA InfinityDB, выпускаемого фирмой Boiler Bay Inc. с 2002, включает в себя:

  • объединение фармацевтических и медицинских данных
  • коллекцию, описание, объединение и разделение орнитологических данных
  • представление таксономии различных типов
  • инструменты среды программирования, такие как навигация по хранилищу исходного кода
  • текстовые индексаторы
  • почтовые системы консолидации
  • распределенные промышленные системы сбора данных.

Ссылки

  1. Peters L, Lavers T. (англ.) . — (англ.) , 2008. — P. 224. 27 июня 2014 года.

См. также

Источник —

Same as InfinityDB