Pull to refresh

Comments 9

Скажите, а на ваших данных SQL-таблицы в Каше насколько быстрее работают аналогичных в MySql?
С MySQL не работаю.

Вопрос холиварный: дело ведь не только в скорости, но и в поддерживаемых фичах.
Например, Oracle очень «мудро» поступила, включив поддержку bitmap-индексов и параллельное построение индексов только в Enterprise Edition

PS: кстати, в MySQL уже появились bitmap-индексы?
Я это спрашиваю не для холивара. Просто интересно. Суть вопроса в том, что таблицы эмулируются с помощью глобалов. Т.е. для глобалов это не самый естественный режим работы. Поэтому и интересно.

Если можете сравнить с ораклом, то ещё лучше.
А интересуют меня операции INSERT, SELECT с INNER JOIN, транзакции.

P.S. Ничего не слышал о том, что в mysql повились битмап-индексы. К слову говоря — это ведь не индексы, так как у них скорость работы пропорциональна n, а не log(n).

Я это спрашиваю не для холивара. Просто интересно.
Если действительно интересно, то можете поискать на sql.ru, где немало было сказано на сей счёт.
Суть вопроса в том, что таблицы эмулируются с помощью глобалов.
Если быть точнее, то с помощью регистров процессора.
Т.е. для глобалов это не самый естественный режим работы
Да, естественность в наше время сдаёт позиции особенно в Европе, достаточно вспомнить "естественность" различных ORM.
Если можете сравнить с ораклом, то ещё лучше.
Я не работаю с Oracle.
А интересуют меня операции INSERT, SELECT с INNER JOIN, транзакции.
Поищите информацию про проект GAIA. Много ссылок есть как на sql.ru, так и на intersystems.ru, например:

Почитайте ещё «белые книги».

Есть разработчики, которые используют исключительно объекты и SQL, и с глобалами непосредственно не работают, и скорость их вполне устраивает.
Ничего не слышал о том, что в mysql повились битмап-индексы
Вопрос был риторический: я ведь ссылку не просто так привёл. Сильно сомневаюсь, что Oracle их "просто так" добавит в MySQL.
К слову говоря — это ведь не индексы
Вам виднее. Неужели ГМО?
Ссылка насчёт GAIA интересная, но из неё неясно используется ли SQL-слой для вставки.

То что MUMPS может быстро вставлять записи — известный факт (у меня на домашнем компе, внутри виртуальной машины, 660 000 инсертов в секунду GT.M делает).

В редких БД используется в основном вставка — только во всяких системах логгирования. Для этой задачи, возможно, MUMPS нет равных.

Поэтому мне было интересно как Cache делает SELECT-запросы с джойнами.

В «белых книгах» содержится информация, которая выставляет Cache в хорошем свете, так как всё это размещено на корпоративном сайте Intersystems. И эти книги (про сравнение скоростей) я читал. Мне было интересно ваше мнение как частного лица.

Так что если вы сами не проводили сравнительных тестирований Cache с SQL-базами, то так бы и сказали.
Для проекта Gaia используется Caché Java Extreme технология. Документация об этой штуке.
И да, это без использования SQL напрямую из Java в глобалы.
В принципе можно также работать с Caché и из .NET и из node.js.
Ссылка насчёт GAIA интересная, но из неё неясно используется ли SQL-слой для вставки.
Если хорошо поискать, то можно найти, что для вставки использовались Java и Caché eXTreme API.
Поэтому мне было интересно как Cache делает SELECT-запросы с джойнами.
К слову, ещё очень популярен вопрос «Почему Caché нет на TPC.org?».

Вы, наверное, знаете, что в Caché встроен BI (DeepSee), позволяющий использовать SQL/MDX на живых данных без необходимости построения отдельного хранилища. Поэтому, непонятно ваше недоумение.

Если грамотно спроектированы классы/таблицы и подобраны индексы, собрана статистика, умело используются подсказки оптимизатору, то скорость ничем не уступает даже прямому доступу. Всё зависит от конкретных данных и конкретного запроса.
Так что если вы сами не проводили сравнительных тестирований Cache с SQL-базами, то так бы и сказали.
Я не устаю повторять, что самый лучший способ сравнения — это пилотный проект на реальных данных и железе с реальной бизнес-логикой. Такое сравнение, я конечно же проводил, но для Caché. Со стороны других СУБД это делали другие люди. Вы же согласитесь, что настройкой и оптимизацией должны заниматься специалисты по тому или иному продукту.
говоря «Поэтому мне было интересно как Cache делает SELECT-запросы с джойнами» я подразумевал как быстро.

Такое сравнение, я конечно же проводил, но для Caché.


Сравнение можно проводить если есть хотя бы 2 элемента. А смысла сравнивать каше с каше немного.

Я хоть и не являюсь профессионалом MUMPS, тем не менее на скорость вставки сравнение GT.M с MySql провёл.

А вот на SELECT с джойнами нет, т.к. это долго для простого любопытства.

А ведь это очень важный вопрос. По инсертам всё понятно — MUMPS рвёт всех, а вот по SELECT с джойнами для меня пока вопрос открытый.
Если всё-таки хотите немного «синтетики», то могу дать несколько ссылок:
А смысла сравнивать каше с каше немного.
Согласен.
Чтобы корректно сравнивать, нужны соответствующие специалисты, иначе потом появятся лишние вопросы типа «А можно было ещё вот так и этак» или «А почему не использовали то-то?».
В любом случае всё это затратно как по времени так и по средствам.
Sign up to leave a comment.