dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go

БД для частых вставок и большого объема данных?

Подскажите движок для хранения больших объемом ~50ГБ в день. Данные хорошо структурированы (подходят под хранения в таблицах, 7-8 полей), индекс по 1-3 полям (id, дата, id_по_которому_агрегируем).
Есть около 40 миллиардов записей, которые предположительно будут лежать в БД в исходном виде (3 поля), по некоторому запросу будет выбираться подмножество и класться в кэш. Запросов порядка 20-30к в секунду. Исходные данные будут дополняться несколькими колонками (даты, номера) и укладываться в другую БД или таблицу/коллекцию или же модифицировать исходные?
Интересует в первую очередь производительное на вставку решение, которое легко масштабировать (за меньшее кол-во действий ввести в кластер +1 ноду). Во вторую очередь хотелось бы увидеть примеры для Docker Swarm.
Спасибо.
UPD: пример
Исходная таблица 40миллиардов~400 коллекций по 100кк записей типа PrimaryData (если в терминах nosql), по структуре все коллекции одинаковые.
Из исходной выдергиваются данные, дополняются, получаем ExtendedData и вставляются в другую базу. Поиск по второй базе или по ключу (id) или по диапазону дат с агрегацией по полю DataAgg
type PrimaryData struct {
	ID    string `bson:"_id"`  //char(16)
	Data1 int32  `bson:"d1"`
	Data2 int64  `bson:"d2"`
}

type ExtendedData struct {
	ID      string `bson:"_id"` //char(16)
	Data1   int32  `bson:"d1"`
	Data2   int64  `bson:"d2"`
	Data1TS int64  `bson:"d1_ts"`
	Data2TS int64  `bson:"d2_ts"`
	Data3   int64  `bson:"d3"`
	Data4   byte   `bson:d4`
	DataAgg int32  `bson:dagg`
}
  • Вопрос задан
  • 924 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы