Возможно, исходной базой данных NoSQL была MUMPS, которая возникла еще до того, как Кодд разработал свои правила (то есть в 1960-е годы). Как следует из названия ( M Assachusetts General Hospital U tility M Ulti- P система программирования S система), его первоначальная цель заключалась в хранении медицинских документов. Судя по всему, MUMPS все еще используется в некоторых системах здравоохранения и других средах. Узнать больше.
Но что касается недавнего всплеска баз данных NoSQL, я был бы удивлен, если бы там были какие-то реализации - пока. Большинство этих продуктов все еще находятся в стадии бета-тестирования и, в основном, с открытым исходным кодом, не имеют поддержки. Медицинские приложения неизбежно будут крайне консервативными, потому что люди могут умереть, если ИТ-система выйдет из строя.
Я бы предложил следующее, учитывая, что вы рассматриваете несколько вариантов [SQL или NoSQL]. Читая magento, я наткнулся на http://en.wikipedia.org/wiki/Entity-attribute-value_model , что имеет смысл, когда у вас есть большое количество атрибутов [столбцов в день на языке] большинство из которых будет нулевым. Прочтите вики-страницу и обратите внимание на часть, относящуюся конкретно к лабораторным отчетам.
Несколько крупных поставщиков программного обеспечения для здравоохранения используют некоторую версию MUMPS, определенно базу данных без SQL. Epic, Meditech, GE и VA's VistA используют некоторую реализацию MUMPS. MUMPS хорошо подходит для решений в сфере здравоохранения, отчасти благодаря своей производительности и масштабируемости.
Я знаю, что некоторые реализации MUMPS (я имею в виду именно Intersystems Caché ) позволяют запрашивать базу данных с помощью SQL, но это требует некоторых глубоких технических знаний для отображения вашей нереляционной модели данных. к реляционным таблицам.
Я работаю на крупного поставщика EMR, который использует MUMPS, и могу сказать, что это не «забавный» опыт.Под этим я подразумеваю, что не существует отличных инструментов, которые позволили бы мне реализовать потрясающие функции в нескольких строках кода (в .NET нет LINQ-To-M). Но я понимаю, что цена, которую я плачу за написание большего количества кода для запроса данных, стоит доли рынка.
Если вы начинаете бизнес по ЭМИ и разрабатываете свою архитектуру, вам нужно подумать о своих конечных целях. Если вы хотите создать полноценный EMR, который может охватывать несколько областей и специальностей, вам понадобится МНОГО функций, при этом не упуская из виду производительность, надежность и масштабируемость. Вам также понадобится несколько тысяч разработчиков, чтобы вывести ваш продукт на рынок как можно скорее, потому что с новым стимулом для здравоохранения больницы покупают сейчас .
Если вы ищете специализированное нишевое приложение, где ваша пользовательская база будет небольшой и сосредоточенной, вы можете выбрать любую технологию баз данных, ища больше инструментов и быстрой разработки.
Я использую NeoDatis ODB, которая является объектно-ориентированной базой данных (не документо-ориентированной, как CouchDB или MongoDB). Она занимает очень мало памяти и поддерживает шифрование файлов базы данных.