Я работаю над проектом и изо всех сил пытаюсь принять окончательное решение о том, использовать ли семейство столбцов или хранилище документов.Моя ситуация выглядит следующим образом:
Проект, над которым я работаю, - это приложение 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), а объем данных вырастет довольно большим (пару новых записей в минуту)
Я хочу иметь возможность отображать данные на графике, поэтому, скорее всего, мои запросы должны будут возвращать отметку времени для каждой точки данных каждой машины и некоторыхдругое значение, например, скорость или уровень заряда батареи.В моей базе данных будет очень мало клиентов, и визуализация данных в реальном времени не требуется.Поэтому скорость чтения не очень важна.
Насколько показали мои исследования в соответствии с этими требованиями, семейство столбцов и хранилище документов не сильно отличаются.За исключением масштабируемости, но я не верю, что моя база данных вырастет до масштаба, который мне придется начать думать о шардинге, и если я это сделаю, мне, вероятно, сначала придется подумать о вертикальном масштабировании.Правильно ли я верю в это или есть реальная разница?
С другой стороны: я задаю этот вопрос, сравнивая семейства столбцов с хранилищем документов, но, возможно, это сравнение бесполезно на этом уровне, и я имеюначать смотреть на конкретные хранилища столбцов и хранилищ документов.Если да, то любые советы в этом направлении также приветствуются.