Базы данных - Форум успешных вебмастеров - GoFuckBiz.com - Страница 3
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB89.7026
BTC/USD69282.1864
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 21.06.2011, 16:21
Start Post: Базы данных 
  #21
Drunk Monk
Je suis moine ivre
 
Аватар для Drunk Monk
 
Регистрация: 03.03.2009
Сообщений: 15,268
Бабло: $797172957
По умолчанию

Нужно замутить базу, где будет порядка 200-300 тысяч таблиц. Структура таблиц, если важно - `i` int(11) NOT NULL, `c` int(11) NOT NULL, UNIQUE KEY `i` (`i`)

Кто подскажет, оно не наебнется от одного факта такого количества таблиц?
Или имеет смысл memcacheDB пробовать, или может Редис какой-нибудь?
Drunk Monk вне форума  
Старый 22.06.2011, 06:13   #22
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,239
Бабло: $247847001
По умолчанию

Цитата:
только что глянул свою одну табличку, у меня 100 лямов строк, все умещается в памяти, считываю и записываю в таблицу со скоростью 120к операций в секунду, при том это атомарные операции.
это про mysql? чудеса прямо, колись что за магия
imgreen вне форума  
Старый 22.06.2011, 06:30   #23
chesser
автоматизирую интернеты
 
Аватар для chesser
 
Регистрация: 05.07.2009
Адрес: chesser.ru
Сообщений: 3,362
Бабло: $470735
По умолчанию

Цитата:
Сообщение от 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 + многолетний опыт общения с БД
__________________
USA и NL серверы и VPS | wiki | блог | Drupal | NginxТДС
Ave, Google, morituri te salutant! © chesser
chesser вне форума