«Параметризованная» модель базы данных и система хранения данных, а также манипулирование данными - PullRequest
2 голосов
/ 12 июля 2010

Я косвенно сделал это вики-сообществом, видя, что ответы могут быть довольно широкими. Я работаю с начинающей компанией для достижения следующей цели.

В медицинских исследованиях медицинская карта пациента может содержать бесконечное количество данных о пациенте для конкретного диагноза, например, У курильщика больше шансов заболеть раком легких, но это не обязательно означает, что некурящий может заболеть раком легких. Моя цель - создать / использовать модель базы данных, которая может работать с такими параметрами.

Теперь я также должен придумать способы сбора этих параметризованных данных для создания статистических данных, например, увидеть тенденции на всех 40-летних женщин, которые страдали от рака легких. Этот отчет может быть общим (график, таблица и т. Д.), Где доктора могут видеть тенденции или анализировать возможные решения, которые могут работать ....

Мои вопросы: 1) Какие системы баз данных допускают параметризованное внутреннее хранилище (например, Cassandra), которое можно легко использовать в Java, и которое очень эффективно при извлечении данных, связывании и т. Д. Мы имеем дело с большим количеством записей о пациентах на состояния.

2) Какие алгоритмы или методы искусственного интеллекта я могу использовать для интеллектуального анализа данных? Есть ли какие-нибудь методы майнинга, которые могут помочь мне сделать это?

PS Как Google Analytics работает с параметризованными данными?
PPS Параметризованные данные - это данные, которые имеют ключ, и данные, в которых данные могут быть значениями, другая пара ключ-значение, список значений, набор параметризованных данные (организованные, неорганизованные)

Я жду сенсационных ответов! : -D

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

Для этого вопроса, вот как мы это реализовали.

Мы создали пространство клавиш с именем medical и семейство суперколонок с именем patient.

в семействе суперколонок у нас есть general суперколонка, в которой в основном хранятся данные о пациенте, и еще одна суперколонка под названием operation, чтобы вести учет занятости пользователя.

Не забывайте, что суперколонка generalведет учет пациента, когда он / она приходит к врачу.Таким образом, мы точно знаем точное состояние пациента до, во время и после операции.

Я знаю, что некоторые данные могут быть дубликатами, но никакие суперколонки не могут быть идентичными, так как невозможно, чтобы у вас было ровно 2 разных пациента.с одинаковыми атрибутами и болезнью.

Таким образом, в основном, Кассандра допускает 3 уровня абстракции: Keyspace, Семейство Column / Supercolumn, Column / Supercolumn.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 24 июля 2010

Я постараюсь ответить только на ваш первый вопрос.

Cassandra - хранилище данных со значением ключа (в вашем случае параметризовано ). Если вы используете Cassandra, вам нужно больше времени для вычисления сложных отчетов. Причина в том, что он хранит данные в необработанном формате. Cassandra, как базы данных NOSQL, хороши, если вы хотите, чтобы масштабирование было очень большим. Они в конечном итоге согласованы и компрометируют репликацию данных и задержку.

В вашем случае, поскольку пациент может иметь данные в любой форме, попробуйте соответствовать модели Triple Store (платформы семантического веба, такие как Jena, OpenSesame и т. Д.). Они позволяют вам иметь паршивые структуры данных и могут формироваться во время выполнения. Кроме того, их механизмы запросов (SPARQL, SeRQL) дают вам больше возможностей, чем хранилища NOSQL (например, Cassandra), но эти возможности запросов явно меньше, чем в СУБД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...