Каковы наиболее зрелые и высокопроизводительные варианты для баз данных со значениями атрибутов? - PullRequest
1 голос
/ 23 декабря 2011

Я работаю в области электронных медицинских карт, и используемый мной стандарт (http://www.openehr.org) создает серьезное несоответствие во многих случаях использования при попытке использовать реляционные базы данных.

Мне удалось разработать несколько довольно успешных методов использования реляционных баз данных для обработки в основном древовидных структур, но я мог бы сделать намного лучше, если бы использовал тип хранения ключ-значение.

Проблема в том, что концепция RDMS стала настолько доминирующей на рынке, что зрелость почти исключительно связана с реляционными базами данных. Всякий раз, когда кто-то рассматривает выход из реляционного пространства, особенно в наши дни, начинает играть песня NOSQL. Большинство вариантов NOSQL слишком молоды, и мне было бы трудно вкладывать в них средства для обработки конфиденциальных медицинских данных.

Итак, я ищу зрелые варианты с открытым исходным кодом и высокой производительностью в нереляционном пространстве, особенно те, которые удобны для операций типа ключ-значение. Например, BerkeleyDB был одним из таких вариантов, но текущие условия лицензирования Oracle не работают для меня.

Мне не нужен SQL, мне все равно придется реализовать собственный язык запросов (который уже определен как часть спецификаций openEHR). Мне не нужны таблицы, так как все мои данные - это древовидные структуры. Мне нужна зрелость, стабильность и производительность, мне нужно соответствие требованиям ACID, масштабируемость и мне нужен открытый исходный код. Я даже рассмотрел возможность объединения различных зрелых Java-фреймворков для достижения этих целей и задал вопрос об этом здесь, но, похоже, это не был реалистичный подход.

Есть ли какие-то скрытые или, может быть, очевидные драгоценные камни, по которым я скучаю?

Ответы [ 2 ]

0 голосов
/ 19 марта 2017

Если ваше приложение написано на Java, Chronicle Map является зрелым и очень эффективным решением вашей проблемы.Это намного быстрее, чем BerkeleyDB.Хроническая карта не является ACID, однако, она обеспечивает только возможную согласованность с помощью отображения файловой памяти на уровне ОС.Точную информацию о гарантиях долговечности Карты Хроники можно найти здесь .

0 голосов
/ 11 августа 2014

Зрелость, стабильность, производительность, соответствие ACID, масштабируемость, открытый исходный код, древовидные данные - используйте OpenLDAP.

Если вы действительно хотите использовать свою собственную модель данных и язык запросовВы можете использовать LMDB, хранилище ключей-значений, разработанное для OpenLDAP.

...