• Как хранить временные ряды?

    @abir_valg
    Вот тут советуют СУБД объектно-реляционной модели.

    Т.е. PostgreSQL .

    Mongo посоветовали , потому , что есть масштабирование из коробки ?

    А так сама задаюсь этим вопросом.
    Ответ написан
    Комментировать
  • Как хранить временные ряды?

    Violetdrug
    @Violetdrug
    Если данных очень много, то лучше использовать Mongo, она не тормазит при разростании.
    Если в приделах разумного, то MySql

    Для MySQL советую такую схему:
    Каждая строка соответствует одному устройству, данные хранятся в полнотекстовом поле в виде
    { 'timestamp': '', 'value':'', {… }},{ 'timestamp': '', 'value':'', {… }},{ 'timestamp': '', 'value':'', {… }},…
    Каждую запись добавляем коммендой

    $query="INSERT INTO `bd`.`table` ( `json`,`keyid`) VALUES ("{ \"timestamp\": \"\", \"value\":'', {… }}', '".$keyid."')". " ON DUPLICATE KEY"." UPDATE `json` =CONCAT(`json`,',{ \"timestamp\": \"\", \"value\":'', {… }}'), keyid='".$keyid."'" ;

    тем самым в поле будет дописываться очередное значение Json.

    А когда будете запрашивать из базы

    $res="{'hist':[".row['json']."]}"; $poll=json_decode($res);

    $poll->hist — и будет сам набор данных

    Если нужны будут комментарии, или что-то не будет из этого работать, пишите в личку, помогу.
    Ответ написан
    2 комментария