Сервис хранения аннотированных разноформатных данных “Large Data Inventory” — различия между версиями
Mednik (обсуждение | вклад) м (Откат правок Seosky (обсуждение) к версии Aapoludnitsin) |
|||
| (не показаны 3 промежуточные версии 2 участников) | |||
| Строка 8: | Строка 8: | ||
|categorize=yes | |categorize=yes | ||
}} | }} | ||
| + | ===Что за проект?=== | ||
| + | Биоинформатические алгоритмы анализа данных пациента генерируют огромное количество различных файлов (порядка 50-100 Гб на каждого пациента). Для хранения таких объемов информации используются различные облачные хранилища, такие как Rackspace Cloud Files, Amazon S3 и тд. | ||
| + | Основная проблема - это понять принадлежность того или иного объекта в хранилищах: к какому пациенту относится, к какому dataset, когда и кто данный объект загрузил, какой биоинформатический инструмент сгенерировал файл (название, версия и прочие метаданные), какие данные (мутации, экспрессии и т.п.) и какой формат данных, как долго нужно хранить данный объект и так далее. | ||
| + | Важно отметить, что в хранилище помещаются данные пациентов из госпиталей, которая является PHI-информацией. Это означает, что необходим гибкий и надежный механизм разграничения прав доступа к распределенному хранилищу. | ||
| + | Помимо этого, необходимо обеспечивать консистентность данных, хранимых в системе - не должно быть фантомных объектов, которых на самом деле не существует, не должно оставаться файлов в реальном хранилище после удаления и тд. | ||
| + | Каждый объект, помещаемый в LDI (Large Data Inventory), снабжается минимально необходимым набором атрибутов и мета-данных. Атрибуты могут быть заданы как пользователем, так и встроенными в систему. Атрибуты и значения будут использоваться при выборке и отображении хранимым в системе объектов. Метаданные - некоторый системный набор атрибутов, например, кто загрузил объект, когда, какой размер объекта, mime-тип данных и т.п. | ||
| + | Необходимо разработать прототип компоненты, которая на основе облачного хранилища общего назначения предоставит RESTful API для интеграции в платформу, CLI для доступа пользователя к хранилищу. | ||
| + | ===Начальные требования=== | ||
| + | * Умение работать с англоязычной технической литературой | ||
| + | * Базовое знание Python | ||
| + | * Готовность изучать новые технологии | ||
| + | ===Чему вы научитесь=== | ||
| + | * Обеспечивать гибкий авторизованный доступ к данным в распределенной системе | ||
| + | * Реализовывать свой язык запросов и производить эффективный поиск по нему | ||
| + | * Реализовывать клиентское приложение для работы с системой | ||
| + | * Разворачивать самостоятельно и работать с существующими облачными решениями для хранения больших данных | ||
| + | ===Какие будут использоваться технологии=== | ||
| + | * Python, Golang | ||
| + | * Amazon S3 (Minio) | ||
| + | * MongoDB | ||
| + | * Yacc\Lex | ||
| + | ===Критерии оценивания=== | ||
| + | * 4 - Реализован сервис, предоставляющий RESTApi с возможностью добавления записи о файле и его поиска | ||
| + | * +2 - Реализован domain-specific language запросов | ||
| + | * +3 - Реализован CLI c возможностью загружать реальные данные | ||
| + | * +3 - Реализована авторизация | ||
| + | ===Контакты=== | ||
| + | Космачев Алексей adkosmachev@edu.hse.ru | ||
Текущая версия на 09:36, 26 августа 2022
| Ментор | Космачев Алексей |
| Учебный семестр | Осень 2018 |
| Учебный курс | 3-4-й курс |
| Максимальное количество студентов, выбравших проект: 2-3 | |
Что за проект?
Биоинформатические алгоритмы анализа данных пациента генерируют огромное количество различных файлов (порядка 50-100 Гб на каждого пациента). Для хранения таких объемов информации используются различные облачные хранилища, такие как Rackspace Cloud Files, Amazon S3 и тд. Основная проблема - это понять принадлежность того или иного объекта в хранилищах: к какому пациенту относится, к какому dataset, когда и кто данный объект загрузил, какой биоинформатический инструмент сгенерировал файл (название, версия и прочие метаданные), какие данные (мутации, экспрессии и т.п.) и какой формат данных, как долго нужно хранить данный объект и так далее. Важно отметить, что в хранилище помещаются данные пациентов из госпиталей, которая является PHI-информацией. Это означает, что необходим гибкий и надежный механизм разграничения прав доступа к распределенному хранилищу. Помимо этого, необходимо обеспечивать консистентность данных, хранимых в системе - не должно быть фантомных объектов, которых на самом деле не существует, не должно оставаться файлов в реальном хранилище после удаления и тд. Каждый объект, помещаемый в LDI (Large Data Inventory), снабжается минимально необходимым набором атрибутов и мета-данных. Атрибуты могут быть заданы как пользователем, так и встроенными в систему. Атрибуты и значения будут использоваться при выборке и отображении хранимым в системе объектов. Метаданные - некоторый системный набор атрибутов, например, кто загрузил объект, когда, какой размер объекта, mime-тип данных и т.п. Необходимо разработать прототип компоненты, которая на основе облачного хранилища общего назначения предоставит RESTful API для интеграции в платформу, CLI для доступа пользователя к хранилищу.
Начальные требования
- Умение работать с англоязычной технической литературой
- Базовое знание Python
- Готовность изучать новые технологии
Чему вы научитесь
- Обеспечивать гибкий авторизованный доступ к данным в распределенной системе
- Реализовывать свой язык запросов и производить эффективный поиск по нему
- Реализовывать клиентское приложение для работы с системой
- Разворачивать самостоятельно и работать с существующими облачными решениями для хранения больших данных
Какие будут использоваться технологии
- Python, Golang
- Amazon S3 (Minio)
- MongoDB
- Yacc\Lex
Критерии оценивания
- 4 - Реализован сервис, предоставляющий RESTApi с возможностью добавления записи о файле и его поиска
- +2 - Реализован domain-specific language запросов
- +3 - Реализован CLI c возможностью загружать реальные данные
- +3 - Реализована авторизация
Контакты
Космачев Алексей adkosmachev@edu.hse.ru