и текстового поиска данных наиболее предпочтительная и почему (объем одной записи от 1 кб до 5-10 мб):
1) в таблице запись равна одному "документу" который содержит все данные, возможно даже большой объем.
2) один "документ" разбивается на части и храниться в виде отдельной записи в таблице, т.е. документ дробиться на более мелкие части.
3) таблица равна одному "документу", он разбивается на части и храниться в виде отдельных записей внутри этой таблицы. Т.е. кол-во таблиц = кол-ву "документов" в базе.
4) в таблице запись равна одному "документу", документ содержит JSON объект в котором массив частей документа или полностью "документ".
Ну и интересный вопрос по поводу версий записей, кто как организует?
5) Изучить, как работают индэксы fts и trigram в постгресе и/или в сфинксе, положыть вашы документы на файловую систему, и проиндэксировать их в sqlite. 6) Взять sphinx.
Спасибо за наводку, обязательно рассмотрю эти варианты.
https://www.youtube.com/watch?v=30oK8_yMPjE
А расскажи сначала что такое "документ"
Ну я образно имел ввиду, в начальном виде это json объект будет, который придется привести к виду записи в таблице. Поэтому и в кавычки взял, т.к. это не файл вордовский, а непосредственно кусок каких-то данных. На бекенд это придет точно в виде JSON в котором основная сущность будет строка с разделителями, а поля JSON будут содержать дополнительную "служебную" информацию. "Документ" как бы важная отдельная самостоятельная сущность в проекте, по тегам id можно будет подгрузить список и т.д., может объединять в коллекции. Постарался сжато изложить суть без воды. Наводящие вопросы приветствую)
JSON объект - ничего не говорит о его структуре...
Так то ни один из перечисленных методов не годится
Хорошо, по другому будет строка текста с разделителями между предложениями текста, объем от 1кб до 5-10 мб.
Тут сказано о данных ровно ноль информации
Это формат хранения данных, а не описание данных
Предложите вариант? Цель хранить/обрабатывать БД в виде файла и без сервера баз данных (без инсталяции ПО, настройки). Вот node.js сервер, который пишет в sqlite. Скорость чтения\записи, возможно можно не учитывать.
Хочу хранить текст по которому можно будет делать поиск по слову.
Данные в лбом случае должны храниться в виде одной или нескольких записей в одной или нескольких таблицах
Моё ожидание какое, я думаю что у меня будет уникальный ID у записи, по которой я могу объединить несколько записей например в коллекцию или поиск делать, обратиться к записи напрямую, но хотелось бы версионирвоание в случае перезаписи - получается при перезаписи я наверное должен предыдущую запись отправить в другую таблицу или как? Держать рядом. Расскажите какие подходы в моем кейсе? Я не прям бекенд разраб, мне интересно услышать разные доводы.
Обсуждают сегодня