Как выбрать семейство столбцов и базу данных хранилища документов? - PullRequest
0 голосов
/ 25 мая 2018

Я работаю над проектом и изо всех сил пытаюсь принять окончательное решение о том, использовать ли семейство столбцов или хранилище документов.Моя ситуация выглядит следующим образом:

Проект, над которым я работаю, - это приложение hass.io, которое будет визуализировать определенные данные для автомобилей Tesla.Мой проект будет работать на Raspberry Pi (PI 3), поэтому размер базы данных является проблемой.Мои данные будут выглядеть примерно так:

{
"cars" : [
    {
        "car_id" : 3241123,
        "model" : "Tesla S",
        "data" : [
            {
                "timestamp": 23840923804982309,
                "temperature": 24.5,
                "battery_level" : 40,
                "is_charging" : true,
                "speed" : null
            },
            {
                "timestamp": 23840923804982333,
                "temperature": 26.0,
                "battery_level" : 35,
                "is_charging" : false,
                "speed" : 30
            }
        ]
    },
    {
        "car_id" : 3241157,
        "model" : "Renault Zoey",
        "data" : [
            {
                "timestamp": 23840923804982309,
                "temperature": 23.3,
                "battery_level" : 90,
                "is_charging" : true,
                "speed" : null
            },
            {
                "timestamp": 23840923804982350,
                "temperature": 23.0,
                "battery_level" : 92,
                "is_charging" : true,
                "speed" : null
            }
        ]
    }
]

}

  • мой проект должен использовать базу данных NoSQL
  • Этот пример в JSON, но это простопоказать данные.Он не должен храниться в базе данных как файл JSON как таковой.
  • Ожидается, что количество автомобилей будет небольшим (2-4), а объем данных вырастет довольно большим (пару новых записей в минуту)

Я хочу иметь возможность отображать данные на графике, поэтому, скорее всего, мои запросы должны будут возвращать отметку времени для каждой точки данных каждой машины и некоторыхдругое значение, например, скорость или уровень заряда батареи.В моей базе данных будет очень мало клиентов, и визуализация данных в реальном времени не требуется.Поэтому скорость чтения не очень важна.

Насколько показали мои исследования в соответствии с этими требованиями, семейство столбцов и хранилище документов не сильно отличаются.За исключением масштабируемости, но я не верю, что моя база данных вырастет до масштаба, который мне придется начать думать о шардинге, и если я это сделаю, мне, вероятно, сначала придется подумать о вертикальном масштабировании.Правильно ли я верю в это или есть реальная разница?

С другой стороны: я задаю этот вопрос, сравнивая семейства столбцов с хранилищем документов, но, возможно, это сравнение бесполезно на этом уровне, и я имеюначать смотреть на конкретные хранилища столбцов и хранилищ документов.Если да, то любые советы в этом направлении также приветствуются.

...