хочу просто все логи запихнуть в БД для последующего анализа. А их очень много и поля у них разумеется разные.
Порасуждаю. Я пишу логи в тхт всегда с тех пор, как делал реальные выборки с grep. Оказалось, что по условию grep делает выборку со скоростью hdd винчестера. То есть 56 гб файл - выборка делалась 9 минут (меньше чуть). Кстати sed - 11 минут. То есть если основной критерий скорость выборки - то строчные файлы самый быстрый по записи и чтению. Хотя БД (из коробки или модулями) могут сжимать поток данных строки zip'ом на лету + реляции сокращают объём данных, всё таки выборки в бд делаются намного медленнее. Для этого в бд используют индексы.
Я уже пытался обрабатывать большие данные, на миллиардах записях индексы помогают слабо (или я в них не шарю). Если миллиард хитов в год, то в среднем это 35 обращений в секунду. Только в реальности если это не с датчиков логи, то будет то 10 тысяч хитов в секунду, то 1. Как я понимаю вам просто необходимо будет юзать стек. Почему бы там в файле и не оставить? То есть я бы получал json, растягивал в строку, писал бы строки в файлы формата "date.txt". Если по какому-то полую нужен индекс, то юзал бы связку (имя файла - номер строки) как id, а хеши данных выводил бы в таблицу sql. Вот я понять не могу.
Это слишком замудренно, mnogodb делает это из коробки?
Мои выборки или индексы слишком просты для ваших задач?
Чо то ещё, чего я даже не понимаю?
зы
лично я мечтаю разобраться в колоночных БД в некоторых задачах они реально ускорят выборки. Некогда.
Так писал уже.
Извините, пожалуйста, пропустил.
Это давно все поняли и добавляют подобный функционал
Мода. Чего они только не добавляют, вместо того, чтобы проблемы с автовакумом решать.