Я работаю в области электронных медицинских карт, и используемый мной стандарт (http://www.openehr.org) создает серьезное несоответствие во многих случаях использования при попытке использовать реляционные базы данных.
Мне удалось разработать несколько довольно успешных методов использования реляционных баз данных для обработки в основном древовидных структур, но я мог бы сделать намного лучше, если бы использовал тип хранения ключ-значение.
Проблема в том, что концепция RDMS стала настолько доминирующей на рынке, что зрелость почти исключительно связана с реляционными базами данных. Всякий раз, когда кто-то рассматривает выход из реляционного пространства, особенно в наши дни, начинает играть песня NOSQL.
Большинство вариантов NOSQL слишком молоды, и мне было бы трудно вкладывать в них средства для обработки конфиденциальных медицинских данных.
Итак, я ищу зрелые варианты с открытым исходным кодом и высокой производительностью в нереляционном пространстве, особенно те, которые удобны для операций типа ключ-значение. Например, BerkeleyDB был одним из таких вариантов, но текущие условия лицензирования Oracle не работают для меня.
Мне не нужен SQL, мне все равно придется реализовать собственный язык запросов (который уже определен как часть спецификаций openEHR). Мне не нужны таблицы, так как все мои данные - это древовидные структуры. Мне нужна зрелость, стабильность и производительность, мне нужно соответствие требованиям ACID, масштабируемость и мне нужен открытый исходный код. Я даже рассмотрел возможность объединения различных зрелых Java-фреймворков для достижения этих целей и задал вопрос об этом здесь, но, похоже, это не был реалистичный подход.
Есть ли какие-то скрытые или, может быть, очевидные драгоценные камни, по которым я скучаю?