в в распоряжении кх19.7, нода.
проблема в том, что сейчас сиды у меня прописаны в виде массива массивов.
вида
[
['john', 'doe', 75]
]
отдельно существует объект для маппинга, вида
{
name: 'String',
surname: 'String',
age: 'UInt8'
}
как вы понимаете, там колонок 50 в каждой записи.
так что поддерживать весь этот зоопарк становится накладно, ибо приходится буквально считать запятые, чтобы воткнуть какое-то значение на какое-нибудь место
храним в выделенных колонках в КХ или в "json" в монге
уже перегнал всю эту дрянь в json. стало гораздо менее противно работать с данными. новая повестка дня - словари 😄 где вы их храните? тоже в монге ?
у меня все словари http, без понятия что там за http, вроде mysql
то есть локально даже для тестов не держите ?
для тестов в файлах, tsv, т.е. бекэнд словарей возвращает tsv через http, поэтому для тестов легче всего просто курлом в файл сложить
в какой-то момент ваша колонка с json станет размером 200ГБ, любые запросы будут работать 200+ сек.
понял, спасибо =)
честно говоря, тестиков пока мало, и много вроде не предвидится. но то, что было до этого, было невероятно отвратительно
попробуйте представить, как клево менять данные при таком раскладе :D
просто не надо рассчитывать что КХ будет работать с неструктурированными данными, ну не будет он, будет просто тормозить, потому что просто прочитать с диска такую суперколонку невыносимо долго, потом распаковать, потом отфильтровать.
менять????? возьмите монгу. КХ тут не подходит.
а, нене, вы меня не так поняли) я вынес сиды с пика выше в отдельный json файл так что в кликхаусе они все складываются как нужно, по колонкам а жаловался я на то, что json по размеру получается в разы больше, чем аналогичный csv (или около того, как на пике выше, опять же)
я не знаю что такое "сид", "пик"
seed - это некоторые данные для тестовой базы. грубо говоря чтобы проверить select * from tbl нужно сперва эту tbl чем- то заполнить. вот сиды - как раз такие вот дерьмовые данные для тестов. а пик - пикча, картинка выше крч
Обсуждают сегодня