Цитата:
Сообщение от imgreen
под key-value юзай соответстующие бд, какие ты привел в пример, тут реляционные бд отсасывают
|
не скажи,
тут у него данные четко структуризированны и умещаются в одну таблицу.
Даже не так, вся задача сводится к организации ОДНОЙ таблицы, матрицы M*N. Причем, что важно, длина строки заранее известна. Это та задача, в которой нужен максимально простой, но в тоже время эффективный движок таблиц. Также важно какие операции над данными будут производиться чаще: выборки или обновления.
Сколько бы не гнали на mysql'евский MyIsam, но он продолжает оставаться одним из самых быстрых, если не самый быстрый. И свои функции он выполнит на отлично.
Также у mysql есть движок MEMORY (бывший HEAP) - это тот же MyISAM, только живет он только в RAM и имеет доп. фичу - хеш-индексы. Они на много быстрее обычных индексов, за счет более простого алгоритма адресации: О(1) vs О(N) (хотя на счет второго не уверен, лень думать, там b-дерево же), что дает большое преимущество на больших объемах данных. Только хеш-индексы бесполезны при операциях, требующих вычисления взаимного положения элементов, например, операции сравнения или order by.
Если длина строк была бы разная и были бы блоб-поля, то да - тут можно было бы думать. Быть может и колоночную БД заюзать был бы смысл, они хороши для логов и там, где хочется сделать 100500 колонок в таблице и данные слобо структурированы. google bigtable - колоночная.
тут же тот случай, где нужен простой движок для классических таблиц с хорошо структурированными данными.
а key-value - это более высокий уровень абстракции, который позволяет гибко работать со слабо структурированными данными...даже не так, он делает общение с БД более атомарным, предоставляя программисту полную свободу... ну короче говоря, придется на кей-велью писать тот же myisam, только в своей реализации, например, индексы организовывать. - оно оправдано будет? фейбукам оправдано, да. Мне тоже, т.к. я скушал всю память у себя и мне нужно ее на порядок больше. А тут вряд ли.
Цитата:
Сообщение от imgreen
это про mysql? чудеса прямо, колись что за магия
|
это не магия, а таблицы типа MySQL-MEMORY + многолетний опыт общения с БД