База данных Без базы данных? [Нужен совет] - PullRequest
0 голосов
/ 14 января 2019

Для школьного проекта нам нужно хранить много погодных данных. 8000 строк в секунду должны быть вставлены. Эти данные также должны быть запрошены быстро, с фильтрами, группами, сортировкой и ограничением.

Но нам не разрешено использовать существующую систему управления базами данных, такую ​​как mySql или Mongo.

В настоящее время мы думаем о создании нового файла каждую секунду с 8000 строк в каждой. Только чтение данных из всех этих файлов для генерации списка топ-10 не будет быстрым. Так что быстрые запросы - главная проблема.

Любые рекомендации приветствуются.

EDIT:

Нам нужно хранить 8000 строк в секунду, содержащих следующие значения из файлов XML, которые мы получаем. Мы уже можем анализировать и хранить 8000 этих XML-файлов в секунду в виде простых файлов (стиль CSV). Но мы не можем делать быстрые запросы. Пример запроса: получить 100 самых высоких температур из последних 8 миллионов строк.

<MEASUREMENT>
    <STN>123456</STN>
    <DATE>2009-09-13</DATE>
    <TIME>15:59:46</TIME>
    <TEMP>-60.1</TEMP>
    <DEWP>-58.1</DEWP>
    <STP>1034.5</STP>
    <SLP>1007.6</SLP>
    <VISIB>123.7</VISIB>
    <WDSP>10.8</WDSP>
    <PRCP>11.28</PRCP>
    <SNDP>11.1</SNDP>
    <FRSHTT>010101</FRSHTT>
    <CLDC>87.4</CLDC>
    <WNDDIR>342</WNDDIR>
</MEASUREMENT>

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Попробуйте кликхаус (https://clickhouse.yandex/) :) Это излишне, но работать будет очень быстро!

редактировать: Вам не разрешено использовать ЛЮБУЮ базу данных? Если так, то используйте плоские файлы.

0 голосов
/ 14 января 2019

Как насчет использования SQLite? Вы можете встроить его в свой проект и настроить производительность. Также я бы проверил здесь: https://en.wikipedia.org/wiki/Embedded_database

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