powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / GlobalsDb/Cache и GT.M
23 сообщений из 23, страница 1 из 1
GlobalsDb/Cache и GT.M
    #38011942
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В процессе разработки своей C++ обвертки вокруг GT.M (Call-Ins) я, не мудрствуя лукаво, решил глянуть как обстоит подобное дело в GlobalsDb и Cache. Есть обвертки еще от M/Gateway (m_php, m_python,...) и возможно есть еще что то, но я отбрасывал сразу старые или не применяемые мной технологии/языки, вроде Visual Basic, C#,...

Основное отличие (и важное для разработки) GlobalsDb от Cache это:

How is Globals different from Caché ?

Globals offers multi-dimensional array storage. While this is hugely valuable, it is all that Globals provides, whereas Caché offers a much richer set of features. Globals does not include SQL access, nor Objects. It also lacks Enterprise Cache Protocol (ECP), Web Services, security features, scripting languages, Studio and all the other capabilities that make Caché such a rich environment for developing and deploying applications.

Globals was originally released with a Java interface, offering Java developers the first API to the database. Next, after a great deal of interest, the wildly popular Node.js was added as the second interface to Globals. Last to join the available interfaces, .NET was added to Globals, with additional interfaces planned for the coming years. Caché, however, offers interfaces for all the popular (and many legacy) programming paradigms.

Я остановился на Java, так как работаю на Mac OSX или Linux, а с Node.js совсем не сталкивался. И сейчас устанавливаю ее и буду изучать работы с GlobalsDb используя Java.
С Cache немного сложнее, поэтому отложил ненадолго установку и испытание его. Но прочитаю учебный курс (Кирстен и др.).

Мне конечно не нужна вся мощь Cache, поэтому то, что предлагает GlobalsDb мне достаточно. Как я понимаю код их GlobalsDb API закрытый, поэтому все самому-самому :)

И под конец ВОПРОС: кто то работал уже с GlobalsDb? Или с Cache используя C++? А еще - можно ли что то из инструментария Cache использовать для GT.M? Только без Windows!

Спасибо!
Модератор: подправил, а то текст сильно расширил страницу
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012072
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,

на Java и на NodeJS есть примеры работы с GlobalsDB, можете посмотреть конкурсные работы по этой СУБД на гитхабе
исходный код конечно закрыт, но документация по API доступна
и по идее основная часть возможностей доступных на Java для Globals, так же доступна и для Cache'. GlobalsDB это что-то типа на попробовать для небольшого проекта, когда вам станет нужно больше нагрузки и возможностей, то можно переходить на Cache, причем ваше приложение должно заработать сразу без каких либо доработок

думаю что почти ничего из инструментария для Cache не подойдет для GT.M
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012085
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,
а Вы уверены, что хорошо понимаете MUMPS?
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012103
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаSergeyLee,
а Вы уверены, что хорошо понимаете MUMPS?

У меня нет такой уверенности. Я иду по пути от простого к сложному. Или есть как то иначе? :)
Простая работа с глобалями мною освоена, и сделаны соответствующие методы в C++.
Я имею в виду команды SET, KILL и получение глобалей.
Я понимаю, что там еще достаточно для изучения и разработки.
В основном двигаюсь по двум направлениям:
1. По синтаксису языка M, команды и функции.
2. Транзакции, LOCK, многопоточность.

Все, что позволят мне Call-Ins (Calls from External Routines), я буду делать. Найду форумы и людей, которые это делали.

И что НАДО такого, чтобы хорошо понимать MUMPS? :)
А то звучит так: "А вы хорошо знаете английский язык?" - вопрос репетитора английского языка первокласснику. ;)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012125
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeБредятинаSergeyLee,
а Вы уверены, что хорошо понимаете MUMPS?

У меня нет такой уверенности. Я иду по пути от простого к сложному. Или есть как то иначе? :)
Простая работа с глобалями мною освоена, и сделаны соответствующие методы в C++.
Я имею в виду команды SET, KILL и получение глобалей.
Я понимаю, что там еще достаточно для изучения и разработки.
В основном двигаюсь по двум направлениям:
1. По синтаксису языка M, команды и функции.
2. Транзакции, LOCK, многопоточность.

Все, что позволят мне Call-Ins (Calls from External Routines), я буду делать. Найду форумы и людей, которые это делали.

И что НАДО такого, чтобы хорошо понимать MUMPS? :)
А то звучит так: "А вы хорошо знаете английский язык?" - вопрос репетитора английского языка первокласснику. ;)
:)
Два последних предложения совсем все запутали. Вы, наверное, обиделись:)
А в начале правильно писали... Что двигаетесь. Мне казалось, что только после того, как это движение закончится, и станет понятно что такое MUMPS (это же не язык программирования) и для чего она нужна, можно сделать вывод, что MUMPS (как язык программирования) Вас не устраивает, и нужно программировать на C++:)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012355
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бредятина:)
Два последних предложения совсем все запутали. Вы, наверное, обиделись:)
А в начале правильно писали... Что двигаетесь. Мне казалось, что только после того, как это движение закончится, и станет понятно что такое MUMPS (это же не язык программирования) и для чего она нужна, можно сделать вывод, что MUMPS (как язык программирования) Вас не устраивает, и нужно программировать на C++:)

Нееет, я не обиделся. :) Просто уточнял)
И да, я конечно не буду писать программы на M/MUMPS. Поскольку можно и на C++, но без вызовом простых команд и функций M не обойтись. Конечно я обойдусь без самого языка M (if, for, ...).
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012413
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLee,

Код: sql
1.
Конечно я обойдусь без самого языка M (if, for, ...). 



Странный у Вас подход.
Вы собираетесь использовать С/С++ для программирования бизнес логики?
Как раз для этих целей лучше подходит М или COS.
Работать с глобалями хорошо на сервере (в серверном М-процессе), а обращаться к каждому отдельному узлу глобали с программы-клиента неэффективно.
Зависит, конечно, от программы. Если нужно прочитать/записать один узел, то нормально.
А если нужно обойти глобаль и выбрать данные по критерию, то это для программы-клиента выльется в тысячи/десятки тысяч и более обращений к серверу.
Это медленно в принципе. Чтобы повысить производительность для такого подхода InterSystems разработало in-process подключения (см. Cache eXTreem for Java).
Но более простой и производительный подход когда серверная М-программа обменивается с клиентом пакетами(строками), содержащими сотни значений узлов глобали.
Одно из основных преимуществ М-технологии, на мой взгляд, это совмещение сервера БД и сервера приложений в одном флаконе.
А Вы, похоже, собираетесь свести М-сервер к примитивному key-value хранилищу.

GlobalsDB Вам в руки!
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012484
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeБредятина:)
Два последних предложения совсем все запутали. Вы, наверное, обиделись:)
А в начале правильно писали... Что двигаетесь. Мне казалось, что только после того, как это движение закончится, и станет понятно что такое MUMPS (это же не язык программирования) и для чего она нужна, можно сделать вывод, что MUMPS (как язык программирования) Вас не устраивает, и нужно программировать на C++:)

Нееет, я не обиделся. :) Просто уточнял)
И да, я конечно не буду писать программы на M/MUMPS. Поскольку можно и на C++, но без вызовом простых команд и функций M не обойтись. Конечно я обойдусь без самого языка M (if, for, ...).
Похоже, что я был прав. И Вы правильно не обиделись:) Вы в начале движения, и раньше времени делаете выводы:)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012659
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DirksDRSergeyLee,

Код: sql
1.
Конечно я обойдусь без самого языка M (if, for, ...). 



Странный у Вас подход.
Вы собираетесь использовать С/С++ для программирования бизнес логики?
Как раз для этих целей лучше подходит М или COS.
Работать с глобалями хорошо на сервере (в серверном М-процессе), а обращаться к каждому отдельному узлу глобали с программы-клиента неэффективно.
Зависит, конечно, от программы. Если нужно прочитать/записать один узел, то нормально.
А если нужно обойти глобаль и выбрать данные по критерию, то это для программы-клиента выльется в тысячи/десятки тысяч и более обращений к серверу.
Это медленно в принципе. Чтобы повысить производительность для такого подхода InterSystems разработало in-process подключения (см. Cache eXTreem for Java).
Но более простой и производительный подход когда серверная М-программа обменивается с клиентом пакетами(строками), содержащими сотни значений узлов глобали.
Одно из основных преимуществ М-технологии, на мой взгляд, это совмещение сервера БД и сервера приложений в одном флаконе.
А Вы, похоже, собираетесь свести М-сервер к примитивному key-value хранилищу.

GlobalsDB Вам в руки!

Спасибо за комментарий :)
Собственно GlobalsDB ограничего кажется в вопросе распределения-репликации и предлагает перейти на Cache. Или не так?

Я понимаю, что неэффективно делать работу по выборке данных или какой то аналитике. Поэтому часть задач будет реализовано как M-программа/функция, которую затем можно вызвать в C++.
Для этого мне бы не помешало знание M-технологии на уровне моих знаний C++ или например SQL.

А с Cache связываться не планируется :)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012687
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаSergeyLeeпропущено...


Нееет, я не обиделся. :) Просто уточнял)
И да, я конечно не буду писать программы на M/MUMPS. Поскольку можно и на C++, но без вызовом простых команд и функций M не обойтись. Конечно я обойдусь без самого языка M (if, for, ...).
Похоже, что я был прав. И Вы правильно не обиделись:) Вы в начале движения, и раньше времени делаете выводы:)

Мы все ошибаемся :) Главное, чтобы вовремя понять в чем. Я, кстати, еще не до конца понял. Все зависит от задачи, применения M-технологии (и любой другой). Пока что сверху (от начальства) не поступало ничего конкретного, т.е. ни структуры данных, ни структуры приложений. Но это не будет сверхсложная база данных с десятками "таблиц" (глобалей), и аналитику можно будет сделать потом, отдельно, и она не будет особо сложна. Думаю в моем проекте будет важен быстрый распределенный доступ к чтению-записи данных, это 3/4 всего проекта. Проект под секретом :)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38012748
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как я в основном изучал GT.M, немного M с GT.M дополнениями, то я ничего не знаю о Cache. Изучать Cache и его возможности-технологии (в основном для того, чтобы понять, что необходимо для конкретного проекта) представляется мне занятием длительным, и я хотя бы сделаю первые шаги в этом в течении 1-2 месяцев (вот если бы в сутках было 36 часов!)...
Но было принято решение использовать GT.M, и Cache/GlobalsDb я смотрю в основном в нерабочее время :(...

Интересны комментарии разработчиков, работавших с GT.M. И с загадочным PIP в частности :)
Как я интуитивно подумал, PIP/PSL (Profile Scripting Language, изначально M++) это где то рядом с идеями от Cache (COS).
Мне сложно с M/MUMPS, а с PIP/PSL вообще... никаких инструкций... как я понял расчитан на опытных энтузиастов, коим я не являюсь :(
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38013086
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeМы все ошибаемся :) Главное, чтобы вовремя понять в чем.
Да.
SergeyLeeЯ, кстати, еще не до конца понял.
Вероятно.
SergeyLeeВсе зависит от задачи, применения M-технологии (и любой другой).
Не совсем так. Глубина понимания технологии не зависит от задачи. Нельзя рассчитывать, что для каких-то задач достаточно поверхностного понимания. MUMPS - это интегрированная технология БД, ориентированная на решение информационно-логических задач на основе концепции БД. Если задача ориентирована на создание системы БД, то MUMPS - лучший выбор на сегодняшний день.
SergeyLeeПока что сверху (от начальства) не поступало ничего конкретного, т.е. ни структуры данных, ни структуры приложений.
То есть, даже не ясно нужна ли вообще БД:)
SergeyLeeНо это не будет сверхсложная база данных с десятками "таблиц" (глобалей),
Не корректное сопоставление, даже на уровне количеств.
SergeyLeeи аналитику можно будет сделать потом, отдельно, и она не будет особо сложна. Думаю в моем проекте будет важен быстрый распределенный доступ к чтению-записи данных, это 3/4 всего проекта. Проект под секретом :)
И замечательно:)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38013159
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бредятина,

кстати как нельзя кстати статья на Хабре :)
Разработка через страдание
http://habrahabr.ru/post/155959
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38013984
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeБредятина,
кстати как нельзя кстати статья на Хабре :)
Разработка через страдание
http://habrahabr.ru/post/155959
А какое отношение статья "великого страдальца" имеет к недостаточному знанию технологии?:) Он о недостаточном знании технологии, вроде, не пишет. И его, к тому же, заботят только собственные страдания, но не страдания заказчиков и пользователей.
Вероятно, Вы страдаете из-за того, что на C++ нельзя решить задачи, которые можно решить на MUMPS. И что же, Вы собрались писать СУБД именно на C++? Но ведь ООП вообще никакого отношения к БД не имеет. Или Вы будете решать задачи БД вообще без СУБД, на жаргоне мампсистов - "писать на глобалах"? Но тогда Ваши приложения будет очень сложно развивать и сопровождать.

Вы решите на MUMPS какую-нибудь реальную задачу (а не "Создание глобальной переменной и ее последующее удаление"), связанную с БД.
Например, у Вас есть "таблица" с неограниченным числом "полей".
И Вам нужно делать вложенную сортировку, опять же, по неограниченному числу полей (или, что примерно то же самое, сортировку текстов неограниченной длины).
Напишите, на MUMPS для начала этот тестовый пример. Потом на C++. Потом еще подумаете:)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38014286
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаSergeyLeeБредятина,
кстати как нельзя кстати статья на Хабре :)
Разработка через страдание
http://habrahabr.ru/post/155959
А какое отношение статья "великого страдальца" имеет к недостаточному знанию технологии?:) Он о недостаточном знании технологии, вроде, не пишет. И его, к тому же, заботят только собственные страдания, но не страдания заказчиков и пользователей.
Вероятно, Вы страдаете из-за того, что на C++ нельзя решить задачи, которые можно решить на MUMPS. И что же, Вы собрались писать СУБД именно на C++? Но ведь ООП вообще никакого отношения к БД не имеет. Или Вы будете решать задачи БД вообще без СУБД, на жаргоне мампсистов - "писать на глобалах"? Но тогда Ваши приложения будет очень сложно развивать и сопровождать.

Вы решите на MUMPS какую-нибудь реальную задачу (а не "Создание глобальной переменной и ее последующее удаление"), связанную с БД.
Например, у Вас есть "таблица" с неограниченным числом "полей".
И Вам нужно делать вложенную сортировку, опять же, по неограниченному числу полей (или, что примерно то же самое, сортировку текстов неограниченной длины).
Напишите, на MUMPS для начала этот тестовый пример. Потом на C++. Потом еще подумаете:)

Это решается таким образом: ищем специалиста по MUMPS ;)
А у меня задачи не только с базой данных связаны. И я не супергений, и оно мне как бы не особо нужно (быть супергением).
Мне достаточно будет знать, что MUMPS отличная технология, кое-что сделать используя ее и в основном использовать ее в моем проекте (на C++, Java, Python, PHP, чем угодно). А дальше, уже ищем специалиста по базам данных, и опля... И вложенная сортировка, и остальные вкусности... главное чтобы было что на выходе и это затем использовать в моем проекте...
Понимаете? :)
Сколько надо времени, чтобы полностью понять MUMPS? Где найти такого специалиста? Или взрастить своего, знающего изначально базы данных, SQL и неглупого.

Огромное спасибо за пессимистический комментарий ;) Хорошей тяпницы всем)))
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38014346
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeЭто решается таким образом: ищем специалиста по MUMPS ;)
А у меня задачи не только с базой данных связаны. И я не супергений, и оно мне как бы не особо нужно (быть супергением).
Мне достаточно будет знать, что MUMPS отличная технология, кое-что сделать используя ее и в основном использовать ее в моем проекте (на C++, Java, Python, PHP, чем угодно). А дальше, уже ищем специалиста по базам данных, и опля... И вложенная сортировка, и остальные вкусности... главное чтобы было что на выходе и это затем использовать в моем проекте...
Понимаете? :)
Нет, не понимаю:(
Но Вам это не помешает:)
SergeyLeeСколько надо времени, чтобы полностью понять MUMPS?
Две-три недели.
SergeyLeeГде найти такого специалиста?
Какого специалиста? Который сможет понять MUMPS?:)
SergeyLeeИли взрастить своего, знающего изначально базы данных, SQL и неглупого.
Он уже есть, видимо, зачем же взращивать:)
SergeyLeeОгромное спасибо за пессимистический комментарий ;) Хорошей тяпницы всем)))А так же бусботы и ксовресенья!
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38014369
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаSergeyLeeСколько надо времени, чтобы полностью понять MUMPS?
Две-три недели.


Вот. А я только начал. Чистое время на MUMPS - неделя. Еще бы книжки вменяемые) Но этим и займусь в воскресенье.

БредятинаSergeyLeeОгромное спасибо за пессимистический комментарий ;) Хорошей тяпницы всем)))А так же бусботы и ксовресенья!

И пнидельники, и прочие творники)))
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38015541
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DirksDRОдно из основных преимуществ М-технологии, на мой взгляд, это совмещение сервера БД и сервера приложений в одном флаконе.
А Вы, похоже, собираетесь свести М-сервер к примитивному key-value хранилищу.
GlobalsDB Вам в руки!

Таки да! После совещания и определения всех задач проекта, так оно и будет - только как примитивное хранилище)
С оговорками в плане распределенности, надежности, защищенности и прочим.
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38015739
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeDirksDRОдно из основных преимуществ М-технологии, на мой взгляд, это совмещение сервера БД и сервера приложений в одном флаконе.
А Вы, похоже, собираетесь свести М-сервер к примитивному key-value хранилищу.
GlobalsDB Вам в руки!

Таки да! После совещания и определения всех задач проекта, так оно и будет - только как примитивное хранилище)
С оговорками в плане распределенности, надежности, защищенности и прочим.
couchdb
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38016933
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бредятинаcouchdb

Совсем не подходит для финансовых сверхзащищенных систем.
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38017668
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeБредятинаcouchdb
Совсем не подходит для финансовых сверхзащищенных систем.
Вот как, одним словом (couchdb) удалось узнать сразу две подробности: 1) оказывается речь идет о "финансовой сверхзащищенной системе":) 2) знаний о couchdb у Вас примерно столько же, сколько и о MUMPS:)
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38017839
SergeyLee
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БредятинаSergeyLeeпропущено...

Совсем не подходит для финансовых сверхзащищенных систем.
Вот как, одним словом (couchdb) удалось узнать сразу две подробности: 1) оказывается речь идет о "финансовой сверхзащищенной системе":) 2) знаний о couchdb у Вас примерно столько же, сколько и о MUMPS:)

Ну да :) Я специально так написал ;)
Я еще ничего не знаю из квантовой физики, химии высокомолекулярных соединений, вообще с экономическими и психологическими дисциплинами плохо знаком)))
То, что я прочитал про все базы данных NoSQL, меня и привело к GT.M.
Есть где то обсуждение-сравние баз данных здесь?
...
Рейтинг: 0 / 0
GlobalsDb/Cache и GT.M
    #38019341
Бредятина
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergeyLeeНу да :) Я специально так написал ;)
Я еще ничего не знаю из квантовой физики, химии высокомолекулярных соединений, вообще с экономическими и психологическими дисциплинами плохо знаком)))
Если Вы не создаете в этих областях систему БД, то это не страшно:)
SergeyLeeТо, что я прочитал про все базы данных NoSQL, меня и привело к GT.M.
То есть, к изучению MUMPS.
SergeyLeeЕсть где то обсуждение-сравние баз данных здесь?
Здесь много сравнений разных. Только MUMPS сравнивать не с чем. Нет другой технологии БД, к сожалению:(
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / GlobalsDb/Cache и GT.M
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]