Сегмент «Human Case Sample»
Accession_Date
Date
Дата доступа
Case_ID
String
Идентификатор случая
Collected_By_Institution
String
Учреждение, взявшее образец
Collected_By_Officer
String
Сотрудник, взявший образец
Collection_Date
Date
Дата сбора
Comment
String
Комментарий
Condition_Received
String
Полученное состояние
Current_Laboratory
String
Текущая лаборатория
Days_after_First_Sought_Care_until_Sample
_Collection
Integer
Количество дней от обращения за
помощью до сбора образца
Days_after_Notification_until_Sample_Colle
ction
Integer
Количество дней от оповещения до
сбора образца
Days_in_Transit
Integer
Количество дней, затраченных на
транспортировку
Days_until_Sample_Accessioned_Since_Sent
_Date
Integer
Количество
дней
с
момента
отправки до доступа к образцу
Days_until_Sample_Sent_Since_Collection
Integer
Количество дней с момента сбора
материала до отправки
Destruction_Method
String
Метод уничтожения
Diagnosis
String
Диагноз
Diagnosis_Is_Zoonotic
String
Является ли диагноз зоонозным
Functional_Area
String
Функциональная область
Initially_Collected_Sample_Accession_Date
Date
Дата
доступа
к
первичному
образцу
Initially_Collected_Sample_Collected_By_In
stitution
String
Организация, выполнившая сбор
первичного образца
Initially_Collected_Sample_Collection_Date
Date
Дата сбора первичного образца
Initially_Collected_Sample_Current_Laborat
ory
String
Текущая лаборатория первичного
образца
Initially_Collected_Sample_Lab_ID
String
Идентификатор лаборатории
Initially_Collected_Sample_Local_ID
String
Локальный
идентификатор
первичного образца
Initially_Collected_Sample_Sent_to_Organiz
ation
String
Организация, в которую был
отправлен первичный образец
139
Продолжение таблицы 5.2
Initially_Collected_Sample_Status
String
Статус первичного образца
Initially_Collected_Sample_Type
String
Тип первичного образца
Lab_Sample_ID
String
Идентификатор лаборатории
Local_Sample_ID
String
Локальный идентификатор образца
Sample_Type
String
Тип образца
Sent_Date
Date
Дата отправки
Sent_to_Organization
String
Организация, в которую был
отправлен образец
Status
String
Статус
В разделе 5.2 были описаны проблемы, которые могут возникнуть в проекте
при использовании реляционной базы данных. Далее показано, как решаются эти
проблемы, используя базу данных Riak.
Исходя из строения сегмента «Human Case», можно сделать вывод, что для
получения необходимой информации о случае заболевания следует выполнить
чтение только одной записи из базы данных по ключу. Данные не требуется
читать из нескольких таблиц и соединять их (они хранятся в виде одного
агрегата), следовательно, решается проблема потери соответствия (проблема 1).
База данных Riak автоматически распределяет записи по большому числу узлов,
используя консистентное хеширование. Межмашинный обмен данными не
требуется при доступе к указанным сегментам (решается проблема 2). База
данных Riak хранит N реплик каждой записи на разных серверах, содержит
встроенные механизмы перераспределения реплик при отказах узлов
(восстановление возможности чтения), обновления устаревших реплик,
восстановленных после сбоя. Таким образом решается проблема обеспечения
высокой отказоустойчивости (проблема 3). Но при использовании Riak остается
задача выбора параметров репликации для сегментов, исходя из требований к
производительности, согласованности и отказоустойчивости. Выбор может быть
осуществлен с использованием аналитических и имитационных моделей,
разработанных в Глава 2, и инструментального средства, разработанного в Глава
4.
140
Do'stlaringiz bilan baham: |