LINUX.ORG.RU

Расширяем MySQL: SQL или NoSQL - вот в чем вопрос

 handlersocket, , , newsql,


0

1

Представлена серия статей, подробно описывающая NoSQL-возможности MySQL. В качестве примеров подробно рассмотрены два плагина для MySQL, реализующие NoSQL-функциональность: HandlerSocket и Oracle Memcached. Кроме официальных параметров и настроек, описаны некоторые недокументированные возможности этих плагинов, а также проведены их сравнительные тесты.

>>> Подробности



Проверено: tazhate ()
Последнее исправление: tazhate (всего исправлений: 4)

имхо написано слишком поверхностно => не нужно.

ymn ★★★★★
()

ну в мининвость как аннонс информации сойдёт.

Thero ★★★★★
()

расширяем MyТопор: Топор или не Топор /fxd

anonymous
()

Аффтару серии статей спасибо за обзор, весьма уместно и вовремя (буду пользоваться).

Но хорошо бы для начала, чтобы язык был русским, например, «персистентное хранилище» — это что?

Orlusha ★★★★
()

извращенцы. Впрочем, может, что полезное для больших проектов, которые используют мускуль и будет. Имхо, смысл туманен если ты не facebook и не контакт

dotbg ★★★★
()
Ответ на: комментарий от KRoN73

Вопрос «Но зачем?» тут возникает только у совершенно незнакомых с вопросом :)

Ну я правда не понимаю, зачем использовать инструмент не по назначению. Есть приблизительно 100500 NoSQL-решений, в чем плюсы MySQL в этой нише?

Извращений есть много, кто-то демонов на php пишет, кто-то свою БД на текстовых файлах, но я не считаю это нормальным.

KDE41user
()
Ответ на: комментарий от KDE41user

Ну я правда не понимаю, зачем использовать инструмент не по назначению

Посмотри тесты по эффективности использования HandlerSocket. 750 тыс. запросов к InnoDB базе в секунду — это жесть :) Memcached молча курит в сторонке.

Есть приблизительно 100500 NoSQL-решений, в чем плюсы MySQL в этой нише?

В том, что в случае того же HandlerSocket оно остаётся MySQL.

Извращений есть много, кто-то демонов на php пишет, кто-то свою БД на текстовых файлах, но я не считаю это нормальным.

Совсем не тот случай и не тот уровень.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Memcached молча курит в сторонке

в случае того же HandlerSocket оно остаётся MySQL.

Я тоже правда не понимаю. В чем фокус и что он дает? Можешь в двух словах рассказать?

anonymous
()
Ответ на: комментарий от KRoN73

Memcached молча курит в сторонке.

Понятно, статью по ссылке не читал:

Чтобы сразу расставить все точки над «i», я провел самостоятельную оценку производительности описанных плагинов.

Я пытался воспроизвести условия и результаты тестирования автора HS (даже сервер по конфигурации подобрал почти аналогичный), но его значение в 750 000 rps я так и не достиг.

Memcached/InnoDB 520000 rps
HandlerSocket/InnoDB 610000 rps

Я не вижу драматики, хотя разница действительно в пользу HandlerSocket есть.

anonymous
()
Ответ на: комментарий от anonymous

Я тоже правда не понимаю. В чем фокус и что он дает? Можешь в двух словах рассказать?

можно комбинировать сильные стороны sql и nosql. Например, заливать данные быстро, через nosql, а анализировать sql-запросами. Или частоиспользуемые простые запросы делать через nosql, а сложные и редкие в sql.

AVL2 ★★★★★
()
Ответ на: комментарий от anonymous

Чёрт, анонимные пользователи у меня в игноре, случайно заглянул незалогиненным :)

В чем фокус и что он дает? Можешь в двух словах рассказать?

Он позволяет сэкономить на парсинге SQL-команд и на всякой сопутствующей обвязке, обращаясь на прямую к примитивам MySQL-движка.

Я не вижу драматики, хотя разница действительно в пользу HandlerSocket есть.

Ну, вероятно те, кто это HandlerSocket писали, хорошо зная потроха MySQL его и оттюнили более тщательно.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

обращаясь на прямую к примитивам MySQL-движка

То есть, это ускоритель MySQL?

Но ведь смысл NoSQL не в ускорении, а в ином представлении хранимых данных.

anonymous
()
Ответ на: комментарий от anonymous

Смысл NoSQL - в первую очередь, в ускорении.

Вообще, комментаторы лора уже не торт - не видят преимущества durable MySQL по сравнению с memcached.

anonymous
()
Ответ на: комментарий от KRoN73

Он позволяет сэкономить на парсинге SQL-команд

Блджад, в мускуле до сих пор нет extended query? Чтоб запрос парсился ровно один раз и сохранялся в сессию, а переменные присылались отдельным массивом? Стыд-то какой.

shahid ★★★★★
()
Ответ на: комментарий от shahid

Блджад, в мускуле до сих пор нет extended query?

А тот, у кого оно есть, 750 тыс. запросов в секунду потянет?

KRoN73 ★★★★★
()
Ответ на: комментарий от quasimoto

«персистентное хранилище» — это что?

Персистентный сторэйдж.

А если в соответствии с сано-оракловским глоссарием, то что?

Подсказка: persistence — это «сохранение состояния», так что аффтару, вообще-то, хорошенько надо было бы подумать, что именно он хочет сказать.

anonymous
()
Ответ на: комментарий от anonymous

Помоему имелся в виду не Memcached/InnoDB, а Memcached

goingUp ★★★★★
()

Ахтунг! Монгокопец!

Vit ★★★★★
()

О, цикл статей про БД, в котором ни разу не упомянуто слово «транзакция».

anonymous
()
Ответ на: комментарий от anonymous

Смысл NoSQL - в первую очередь, в ускорении.

Для ускорения скушай пургену.

NoSQL - это вообще другой подход к хранению данных, что дает, во-первых, совершенно другую модель представления данных, а во-вторых бонусы «производительность» и «масштабируемость» за счет того, что хранилище лучше приспособлено для этих данных.

anonymous
()
Ответ на: комментарий от anonymous

не видят преимущества durable MySQL по сравнению с memcached.

приемуществ для чего, клоун?

anonymous
()
Ответ на: комментарий от anonymous

Для ускорения скушай пургену

Птенец лора, иди читай http://en.wikipedia.org/wiki/NoSQL начиная со слов " These companies realized that performance and real-time nature was more important".

NoSQL-подход отличается от SQL-бд во-первых, тем, что язык запросов sql для них - слишком общий, у них не хватает функциональности его реализовать с достаточной эффективностью.
KV и BigTable поддерживают разве что range-скан по ключу. Без дополнительного индекса к ним никто не пришьет сложные where. В Cassandra есть костыль, которым никто не пользуется.

Во-вторых, транзакции они не поддерживают, потому что как раз «performance and real-time nature is more important».


Про «модель представления данных» ты будешь своему преподу по месту учебы втирать, и со своим «архитектором» на работе разговаривать, который тебе расскажет, что Java и Oracle - это круто, все остальное - отстой.
SQL-базам никто не мешает реализовать эти «модели», их не реализуют только по двум причинам, которые я указал выше.

anonymous
()
Ответ на: комментарий от anonymous

Ну ты клоун! А новый год наступает, потому что елку нарядили, ога.

anonymous
()
Ответ на: комментарий от Orlusha

«персистентное хранилище» — это что?

хорошо хоть, что не персистент сторедж

val-amart ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.