{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Математик среди биологов: заметки с тегом база данных",
    "_rss_description": "Я немного умею складывать, но от вычитания у меня всегда кружится голова",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/antonlyakh.ru\/blog\/tags\/baza-dannyh\/",
    "feed_url": "https:\/\/antonlyakh.ru\/blog\/tags\/baza-dannyh\/json\/",
    "icon": false,
    "author": {
        "name": "Антон Лях",
        "url": "https:\/\/antonlyakh.ru\/blog\/",
        "avatar": false
    },
    "items": [
        {
            "id": "533",
            "url": "https:\/\/antonlyakh.ru\/blog\/all\/tri-v-vektornye-modeli-vizualiztator-veb-stranica\/",
            "title": "Три вэ: векторные модели — визуализатор — веб-страница",
            "content_html": "<p>У меня накопилось несколько баз данных с векторными изображениями, Это векторные контуры створок диатомовых водорослей, крючков паразитических червей моногеней и векторные траектории движения динофлагеллят <i>Oxyrrhis marina.<\/i><\/p>\n<p>Базы лежат, пыляться и нет никакой нормальной возможности просмотреть их содержимое в онлайне. Отсюда и родилась идея о создании (универсального) веб-приложения для просмотра векторного содержимого баз.<\/p>\n<p>Назвал это проект «Три вэ».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/antonlyakh.ru\/blog\/pictures\/tri-v---nachalo-dark.png\" width=\"800\" height=\"80\" alt=\"\" \/>\n<\/div>\n<p>Быстро сформулировал задачу и требования к ней.<\/p>\n<p><b>Дано:<\/b> несколько баз данных, содержащих векторные модели форм микроорганизмов, их частей и траекторий движения.<\/p>\n<p><b>Необходимо:<\/b> создать веб-приложения для онлайн просмотра векторных моделей.<\/p>\n<p><b>Требования:<\/b> базовое приложение имеет унифицированный интерфейс, который позволяет подключать любую из баз данных и предоставляет средства для просмотра моделей.<\/p>\n<p>Получилось очень куцо.<\/p>\n<p>Потом прогнал текст через нейросеть с просьбой добавить деталей.<\/p>\n<p class=\"loud\">Оказалось, что за простыми формулировками скрывается несколько неотвеченных вопросов и функций, которые я подразумеваю, но не актуализирую в явном виде.<\/p>\n<p><span id=\"ai-answer\">Ниже — ответ нейросети.<\/span><\/p>\n<hr \/>\n<p>Чтобы сделать требования более четкими и полными, предлагаю структурировать их по следующим категориям:<\/p>\n<p><b>1. Общие требования<\/b><\/p>\n<ul>\n<li><b>Цель приложения:<\/b> Разработать веб-приложение для онлайн-просмотра векторных моделей микроорганизмов, хранящихся в нескольких базах данных.<\/li>\n<li><b>Целевая аудитория:<\/b> Ученые, исследователи в области микробиологии, студенты (или уточнить).<\/li>\n<li><b>Ключевые функции:<\/b>\n<ul>\n  <li>Подключение к различным базам данных с векторными моделями.<\/li>\n  <li>Просмотр моделей с минимальным набором функций (например, визуализация, масштабирование, вращение).<\/li>\n  <li>Возможность расширения функциональности (например, добавление аннотаций, фильтров, экспорта).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>2. Функциональные требования<\/b><\/p>\n<ul>\n<li><b>Подключение к базам данных:<\/b>\n<ul>\n  <li>Поддержка различных типов баз данных (например, SQL, NoSQL, файлы).<\/li>\n  <li>Унифицированный API или адаптер для подключения новых баз данных без изменения кода приложения.<\/li>\n  <li>Поддержка безопасного подключения (аутентификация, шифрование данных).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Просмотр моделей:<\/b>\n<ul>\n  <li>Визуализация векторных моделей в 2D\/3D (указать форматы, например, STL, OBJ, или другие).<\/li>\n  <li>Интерактивные функции: вращение, масштабирование, панорамирование.<\/li>\n  <li>Отображение метаданных моделей (например, название микроорганизма, источник, описание).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Расширяемость:<\/b>\n<ul>\n  <li>Модульная архитектура, позволяющая добавлять новые функции (например, плагины для анализа моделей).<\/li>\n  <li>Поддержка новых форматов данных через конфигурационные файлы или API.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Дополнительные функции (если применимо):<\/b>\n<ul>\n  <li>Фильтрация\/поиск моделей по параметрам (например, тип микроорганизма, дата создания).<\/li>\n  <li>Экспорт моделей или их визуализаций (например, в PNG, PDF).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>3. Нефункциональные требования<\/b><\/p>\n<ul>\n<li><b>Производительность:<\/b>\n<ul>\n  <li>Поддержка загрузки моделей объемом до [указать объем, например, 100 МБ] за разумное время (например, < 5 секунд).<\/li>\n  <li>Оптимизация для работы с большими наборами данных.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Совместимость:<\/b>\n<ul>\n  <li>Поддержка современных браузеров (например, Chrome, Firefox, Safari, Edge).<\/li>\n  <li>Адаптивный дизайн для работы на десктопах и мобильных устройствах (или уточнить).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Безопасность:<\/b>\n<ul>\n  <li>Защита данных при передаче (например, HTTPS).<\/li>\n  <li>Контроль доступа к базам данных (например, через OAuth или токены).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Масштабируемость:<\/b>\n<ul>\n  <li>Возможность обработки подключения новых баз данных без значительных изменений в архитектуре.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Доступность:<\/b>\n<ul>\n  <li>Поддержка стандартов доступности (например, WCAG 2.1).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>4. Технические требования<\/b><\/p>\n<ul>\n<li><b>Технологический стек <\/b>(рекомендации, если не указан):\n<ul>\n  <li>Фронтенд: JavaScript\/TypeScript с использованием библиотек для 3D-визуализации (например, Three.js, Babylon.js).<\/li>\n  <li>Бэкенд: Node.js, Python (FastAPI\/Flask) или другой фреймворк для работы с базами данных.<\/li>\n  <li>Базы данных: Поддержка SQL (PostgreSQL, MySQL) и\/или NoSQL (MongoDB).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>Форматы данных:<\/b><\/p>\n<ul>\n<li>Указать поддерживаемые форматы векторных моделей (например, STL, OBJ, или специализированные биоинформатические форматы).<\/li>\n<\/ul>\n<ul>\n<li><b>API:<\/b>\n<ul>\n  <li>REST или GraphQL для взаимодействия с базами данных.<\/li>\n  <li>Документация API (например, с использованием Swagger\/OpenAPI).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><b>5. Ограничения и предположения<\/b><\/p>\n<ul>\n<li><b>Ограничения:<\/b>\n<ul>\n  <li>Сроки разработки (например, 3 месяца).<\/li>\n  <li>Бюджет (если есть).<\/li>\n  <li>Ограничения по поддерживаемым устройствам\/браузерам.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Предположения:<\/b>\n<ul>\n  <li>Базы данных имеют стандартные API или доступ через SQL-запросы.<\/li>\n  <li>Пользователи имеют базовые навыки работы с веб-приложениями.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr \/>\n<p>Есть над чем подумать.<\/p>\n",
            "date_published": "2025-09-24T22:18:11+03:00",
            "date_modified": "2025-09-25T20:38:12+03:00",
            "image": "https:\/\/antonlyakh.ru\/blog\/pictures\/tri-v---nachalo.png",
            "_date_published_rfc2822": "Wed, 24 Sep 2025 22:18:11 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "533",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/antonlyakh.ru\/blog\/pictures\/tri-v---nachalo.png",
                    "https:\/\/antonlyakh.ru\/blog\/pictures\/tri-v---nachalo-levo.png",
                    "https:\/\/antonlyakh.ru\/blog\/pictures\/tri-v---nachalo-dark.png"
                ]
            }
        },
        {
            "id": "526",
            "url": "https:\/\/antonlyakh.ru\/blog\/all\/vybrat-sluchany-zapisi-iz-bazy-dannyh-s-pomosch-sql\/",
            "title": "Как выбрать случаные записи из базы данных с помощь SQL?",
            "content_html": "<p>&mdash; Элементарно, Ватсон.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">SELECT * FROM table ORDER BY RANDOM() LIMIT num_records_to_select<\/code><\/pre><p>&mdash; <kbd>num_records_to_select<\/kbd> заменить на необходимое количество случайных записей.<br \/>\n&mdash; Шерлок, глубина ваших познаний не сравниться ни с какой энцикопедией.<br \/>\n&mdash; Бросьте, Ватсон, я просто много читаю.<\/p>\n",
            "date_published": "2025-07-04T10:50:59+03:00",
            "date_modified": "2025-07-05T13:49:58+03:00",
            "_date_published_rfc2822": "Fri, 04 Jul 2025 10:50:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "526",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "524",
            "url": "https:\/\/antonlyakh.ru\/blog\/all\/kratkoe-sravnenie-proizvoditelnosti-sqlite-i-duckdb\/",
            "title": "Краткое сравнение производительности SQLite и DuckDB",
            "content_html": "<p class=\"loud\">SQLite быстр с индексами, а DuckDB быстр без них<\/p>\n<p>DuckDB does not seem to work with indices as well as SQLite does but is blazingly fast when scanning large parts of the table.<\/p>\n<p>SQLite is great at using indices but takes its time when it has to look at the whole table.<\/p>\n<p><a href=\"https:\/\/www.lukas-barth.net\/blog\/sqlite-duckdb-benchmark\/\">Benchmarking DuckDB vs SQLite for Simple Queries <\/a><\/p>\n",
            "date_published": "2025-06-24T19:14:45+03:00",
            "date_modified": "2025-06-24T19:15:52+03:00",
            "_date_published_rfc2822": "Tue, 24 Jun 2025 19:14:45 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "524",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "487",
            "url": "https:\/\/antonlyakh.ru\/blog\/all\/vikidannye-i-vikibaza\/",
            "title": "Викиданные и Викибаза",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/antonlyakh.ru\/blog\/pictures\/wikidata-concept.png\" width=\"800\" height=\"575\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Из <a href=\"https:\/\/en.wikipedia.org\/wiki\/Wikidata\">статьи в Википедии о Викиданных<\/a><\/div>\n<\/div>\n<p><a href=\"https:\/\/www.wikidata.org\/\">Викиданные<\/a> — это база разнообразных лексических концепций, которые могут прочитать как люди, так и машины. Фактически это база для обучения машин человеческим понятиям.<\/p>\n<p>Работает так: мы активно пишем статьи, семантически размечаем приведенные в тексте понятия, а викиботы их вытягивают и заносят в базу. Затем эти данные специальные алгоритмы используют для обучения нейросетей, с которыми мы потом и взаимодействуем.<\/p>\n<blockquote>\n<p>Примерно так же мы учим детей, только здесь нам никто не говорит, что все, что мы объясним, потом может быть использовано против нас.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/wikiba.se\/\">Викибаза<\/a> — это набор программ, позволяющие извлекать и работать с данными из Викиданных.<\/p>\n<hr \/>\n<p>Все это открыто и бесплатно. Ну то есть поддержка софта, базы и серверов оплачивается специальными фондами (там ах-ные суммы), а все, кто данные вносят, делают это открыто и бесплатно)<\/p>\n",
            "date_published": "2024-01-08T16:20:24+03:00",
            "date_modified": "2024-01-08T16:20:27+03:00",
            "image": "https:\/\/antonlyakh.ru\/blog\/pictures\/wikidata-concept.png",
            "_date_published_rfc2822": "Mon, 08 Jan 2024 16:20:24 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "487",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/antonlyakh.ru\/blog\/pictures\/wikidata-concept.png"
                ]
            }
        },
        {
            "id": "453",
            "url": "https:\/\/antonlyakh.ru\/blog\/all\/sistema-taxonov-diatomovyh-v-moih-proektah\/",
            "title": "Система таксонов диатомовых микроводорослей в моих проектах",
            "content_html": "<div class=\"e2-text-picture\">\n<img src=\"https:\/\/antonlyakh.ru\/blog\/pictures\/Pseudostaurosira-cataractarum-[Beauger-et-al-2018].png\" width=\"799\" height=\"305\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Панцирь диатомовой микроводоросли <i>Pseudostaurosira cataractarum<\/i>. Рис. 93, 94 из [<a href=\"http:\/\/3d-microalgae.org\/arxip\/biblio\/?biblio=Beauger-et__2018\">Beauger et al., 2018<\/a>]<\/div>\n<\/div>\n<p>В своих проектах я использую следующую простую иерархическую систему таксонов диатомовых микроводорослей.<\/p>\n<p>На верхнем уровне находятся все диатомовые водоросли. Чтобы не путаться с <a href=\"https:\/\/antonlyakh.ru\/blog\/all\/vysshie-taksony-diatomovyh-vodorosley\/\">высшими таксонами диатомовых<\/a>, я считаю, что это просто отдельная безранговая группа микроорганизмов — <i>Bacillariophyta<\/i>.<\/p>\n<p>На следующем уровне находятся два морфотаксона: <a href=\"https:\/\/antonlyakh.ru\/blog\/tags\/otlichie-centricheskih-i-pennatnyh-diatomovyh\/\">центрические и пеннатные диатомовые<\/a>: <i>Centric<\/i> и <i>Pennate<\/i>.<\/p>\n<p>Они, в свою очередь, разделяются на морфотаксоны:<\/p>\n<ul>\n<li>центрические однополюсные <i>(Centic unipolar)<\/i>,<\/li>\n<li>центрические двуполюсные <i>(Centric bipolar),<\/i><\/li>\n<li>пеннатные бесшовные <i>(Pennate araphid),<\/i><\/li>\n<li>пеннатные одношовные <i>(Pennate monoraphid)<\/i><\/li>\n<li>пеннатные двушовные <i>(Pennate biraphid)<\/i>.<\/li>\n<\/ul>\n<p>Роды диатомовых я отношу к одному из этих морфотаксонов. К родам отношу виды, вариететы и формы. Считаю, что вариететы и формы имеют ранг вида.<\/p>\n<p>Получается следующая система:<\/p>\n<hr \/>\n<ul>\n<li><b>Bacillariophyta<\/b>\n<ul>\n  <li><b><i>Centric<\/i><\/b>\n<ul>\n    <li><i>Centic unipolar<\/i>\n<ul>\n      <li><span style=\"color:#777\">роды центрических однополюсных<\/span><\/li>\n    <\/ul>\n<\/li>\n    <li><i>Centric bipolar<\/i>\n<ul>\n      <li><span style=\"color:#777\">роды центрических двуполюсных<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li> \n<ul>\n  <li><b><i>Pennate<\/i><\/b>\n<ul>\n    <li><i>Pennate araphid<\/i>\n<ul>\n      <li><span style=\"color:#777\">роды пеннатных бесшовных<\/span><\/li>\n    <\/ul>\n<\/li>\n    <li><i>Pennate monoraphid<\/i>\n<ul>\n      <li><span style=\"color:#777\">роды пеннатных одношовных<\/span><\/li>\n    <\/ul>\n<\/li>\n    <li><i>Pennate biraphid<\/i>\n<ul>\n      <li><span style=\"color:#777\">роды пеннатных двушовных<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr \/>\n<p>Я не использую промежуточные традиционные таксоны ранга семейства или класса, потому что:<\/p>\n<blockquote>\n<p>Высшие таксоны — это искусственные категории, созданные для нашего удобства. Они помогают классифицировать объекты живой природы или не помогают, если система высших таксонов выбрана неудачно.<\/p>\n<\/blockquote>\n<p>Предложенная система высших таксонов диатомовых помогает мне решать задачи проектов, поэтому я ее использую. Когда возникнет необходимость что-то исправить или добавить, я модифицирую данную схему и напишу об этом.<\/p>\n<p><b>P. S.<\/b> <i>Впредь буду ссылаться на эту заметку в статьях, где потребуется объяснить используемую систему высших таксонов диатомовых микроводорослей.<\/i><\/p>\n",
            "date_published": "2022-05-23T14:38:51+03:00",
            "date_modified": "2022-05-23T14:46:30+03:00",
            "image": "https:\/\/antonlyakh.ru\/blog\/pictures\/Pseudostaurosira-cataractarum-[Beauger-et-al-2018].png",
            "_date_published_rfc2822": "Mon, 23 May 2022 14:38:51 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "453",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/antonlyakh.ru\/blog\/pictures\/Pseudostaurosira-cataractarum-[Beauger-et-al-2018].png"
                ]
            }
        }
    ],
    "_e2_version": 3559,
    "_e2_ua_string": "E2 (v3559; Aegea)"
}