Министерство здравоохранения Великобритании (National Health Service) перевело национальную базу данных о пациентах на открытый стек NoSQL. Ранее электронный каталог медицинских карт держался на программном обеспечении Oracle.
Национальный реестр пациентов Минздрава Великобритании, носящий название Spine, был запущен три года назад на базе обширной сети хранения данных и крупного парка блейд-серверов. Инфраструктура Spine1 — первой реинкарнации реестра — была построена на реляционных базах данных Oracle, которые по контракту обслуживала компания British Telecom.
Базы хранили в себе данные о здоровье примерно 80 млн. британцев — в частности, неклиническую информацию, к примеру, о выданных человеку рецептах, известных аллергических реакциях на лекарства или о платных медицинских услугах, которыми пациент пользовался при обращениях в больницу.
Реестр также является крупным коммуникационным хабом: с ним ежедневно взаимодействуют около 20 тыс. различных приложений в больницах и врачебных приемных по всей стране, к примеру, сервис электронных аптечных рецептов (Electronic Prescription Service). В среднем, за одну секунду реестр обрабатывает около 500 сложных запросов.
В конце лета 2014 г. реестр пережил крупное обновление аппаратного обеспечения: базы данных были перенесены на 106 новых серверов с архитектурой x86, которые сейчас проходят 45-дневный период тестирования и отладки. За компанию специалисты NHS решили сменить и программную часть на более дешевую и продвинутую.
Данные о пациентах были перенесены из баз данных Oracle в распределенную NoSQL-базу данных Riak — продукт небольшой кембриджской компании Basho Technologies. В отличие от Oracle DB, Riak является полностью открытым продуктом.
Специалисты также построили новый стек для работы с реестром на базе открытого ПО: сетевого хранилища Redis, коммуникационной платформы RabbitMQ, системы журналирования Splunk и нескольких веб-серверов — американского Tornado и российского Nginx.
Контракт на обслуживание инфраструктуры реестра (в новой реинкарнации она обозначена как Spine2) компания Basho получила через G-Cloud — британскую платформу электронных госзакупок. Идея, стоящая за этим государственным сервисом — позволить небольшим ИТ-компаниям Соединенного Королевства получать крупные государственные контракты.
Причина отказа от Oracle вполне объяснима: контракт с некрупным поставщиком открытого ПО позволяет сэкономить средства, затрачиваемые правительством на ИКТ. База данных Riak дешевле продуктов Oracle почти вдвое, утвержают в Basho. Стоимость новой аппаратной инфраструктуры, в свою очередь, составляет всего 5% от прежней.
Как сообщил Стив Маккол (Steve McCaul) управляющий директор Basho по Европе, миграция прошла вполне гладко. Это обуславливается архитектурой БД Riak, которая относится к относительно простому типу NoSQL-баз — распределённым системам управления базами данных типа «ключ-значение».
Представитель компании отметил, что к такой модели хранения данных располагает сама структура электронных медицинских карт. Единственная крупная проблема — обучение системных администраторов работе с подобными хранилищами. Минздрав Британии планирует решить ее, комбинируя переобучение существующего персонала и найм специалистов по NoSQL.