powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Консультация
25 сообщений из 29, страница 1 из 2
Консультация
    #37627295
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Передо мной встала задача выбора СУБД для проекта:
Есть существующий проект, использующий PostgreSQL в качестве СУБД. На сегодняшний день не удовлетворяет именно скорость работы. Идея заключается в том, чтобы написать свой транслятор SQL (используется только часть SQL-функционала, поэтому встроенные "тяжелые" реализации использовать неохота, да плюс еще хочется избежать ODBC).

В качестве базовой платформы хотелось бы использовать Pick или MUMPS базу данных (например, D3 или Cache') и самописный транслятор SQL<->M или SQL<->FlashBasic.

Возникают следующие вопросы:
0. Опишите, если вы знаете, основные преимущества Cache' над Pick.
1. Возможно ли в Cache' получение данных на порт TCP и их дальнейшая интерпретация?
2. Насколько вообще описанный подход, с вашей точки зрения, имеет право на существование (клиентскую части изменять нельзя)?
3. Какова средняя "цена" Cache'-девелопера в вашем регионе (Москвичей и Питерцев попрошу воздержаться от ответа :) )?
4. Есть ли разработчики из Вологды/Вологодской области?

Спасибо.
...
Рейтинг: 0 / 0
Консультация
    #37627300
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно ссылочку на Pick, а то что то не найду о чем вы
...
Рейтинг: 0 / 0
Консультация
    #37627309
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor, да, конечно.
Сайт производителя: http://tigerlogic.com/tigerlogic/pick/database/pickdatabase.jsp
Немного документации от представителя в РФ: http://d3doc.ru/
...
Рейтинг: 0 / 0
Консультация
    #37627322
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk,

0. Пока незнаю что такое Pick, нет возможности сравнить
1. cache может открыть любой TCP порт и слушать отдавать любые данные, как запрограммируешь
2. при большом желании реализация думаю возможна, но только между клиентской частью и Cache все же что то должно быть.
4. маловерятно что такие есть, наверняка есть много регионов страны в которых нет вообще программистов Cache. но в Вологде есть пара наших клиентов с нашим приложением на Ensemble. но у них нет программистов. да и не требуются они им.
...
Рейтинг: 0 / 0
Консультация
    #37627341
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor, то есть схема Cache' <-> Транслятор (например, на C) <-> Приложение клиент?
...
Рейтинг: 0 / 0
Консультация
    #37627347
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorSergey Goncharuk,
0. Пока незнаю что такое Pick, нет возможности сравнить


Тоже постреляционная база данных, MVDB. Основана на бывшей PickOS - http://en.wikipedia.org/wiki/Pick_operating_system
Использует с Cache' практически одинаковую модель данных.
...
Рейтинг: 0 / 0
Консультация
    #37627354
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey GoncharukDAiMor, то есть схема Cache' <-> Транслятор (например, на C) <-> Приложение клиент?

да полагаю что так, опять же интересно на чем сейчас написано ваше приложение ?
...
Рейтинг: 0 / 0
Консультация
    #37627367
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor, клиентская часть написана на Visual C. Приложение не наше. Задача сделать что то вроде вот этого http://etersoft.ru/products/selta , но в направлении от Postgres к Cache'/D3.
...
Рейтинг: 0 / 0
Консультация
    #37627467
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Goncharuk,
прочитайте в документации про импорт MultiValue приложений в Cache - может это подойдет.
...
Рейтинг: 0 / 0
Консультация
    #37627473
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Консультация
    #37627478
ser_shu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Goncharuk,
извините, я подумал у Вас приложение на Pick.
...
Рейтинг: 0 / 0
Консультация
    #37627521
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ser_shu, ничего страшного. Хотелось бы конечно обойтись без "прокладки" между приложением и Cache' - то есть прокладка могла бы быть реализована средствами ObjectScript. Вот в чем основной вопрос - реально ли это?
...
Рейтинг: 0 / 0
Консультация
    #37627643
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk,

все зависит от того что вы сразу хотите реализовать на Cache без "прокладки". вы скажите какой именно компонент вы хотите заменить. если у вас там есть какая то серверная часть которая сама общается с СУБД, и есть какой то протокол с клиентом, то вам только нужно повторить этот протокол, что может быть сложно, эмулировать Postgres будет еще сложнее.
поэтому важно найти наиболее удобное место между вашим приложением и субд куда можно будет вставить адаптер который будет работать уже с другой субд. и в зависимости от выбранного места, можно будет решить на чем его реализовать.
...
Рейтинг: 0 / 0
Консультация
    #37627878
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor, сформулирую задачу еще более локально: насколько на М тяжело реализовать семантический анализ бинарного (в смысле, не ASCII) потока данных с разделителями символом \0.
...
Рейтинг: 0 / 0
Консультация
    #37627948
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk,

1. Возможно ли в Cache' получение данных на порт TCP и их дальнейшая интерпретация?
Да, возможно. И проще, чем где бы то ни было. Можно написать свой сервер, сидящий на ТСР- порту и обслуживающий запросы пользователей. Недавно сам этим занимался:).
Есть очень хороший пример самопального сервера: http://karataev.nm.ru/cache/mdapi.html.
Самодельные псевдо-реляционные настройки поверх М ,наверное, писали все разработчики в свое время (до Каше).
Но чтобы транслировать SQL в М код - я знаю только Интерсистемз, да был еще кажется KB-SQL.
Эта трансляция съест весь возможный выигрыш в производительности. А если запрограммировать оптимизатор запросов, то он может съесть выигрыш от оптимизации. Все-таки это не откомпилированный С-код, а интерпретация Р-кода.
Упрощенные языки типа QBE могут дать приличную скорость. Но местами придется заниматься ручной оптимизацией.

2. Насколько вообще описанный подход, с вашей точки зрения, имеет право на существование (клиентскую части изменять нельзя)?
Этот вопрос я понимаю так:
"Насколько вообще описанный подход, с вашей точки зрения, имеет право на существование? (клиентскую части изменять нельзя!)"

В свете вышесказанного, возможно сделать "быстрый" компилятор, который каждому оператору "Select" вашего приложения поставит в соответствие вызов нужной программы с параметрами. Правильно написанные программы будут работать быстро.
Если разновидностей селектов слишком много, тогда луше заняться оптимизацией PostgreSQL.
Или использовать SQL от Cache, а критические участки приложения перепрограммировать с использованием прямого доступа к данным. Но в отличие от PostgreSQL, Cache далеко не бесплатна.
Или использовать бесплатный GT-M, но там нет SQL.
Или все-таки переписать клиентскую часть.

Неблагодарное это дело, давать советы не имея достаточно информации. (Сколько клиентов? Это люди или программы? Сколько таблиц? Какой размер таблиц, базы? Какие данные, какие запросы?)
Ну, раз уж мы родились в стране советов, то не взыщите :)
...
Рейтинг: 0 / 0
Консультация
    #37628287
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DirksDR, спасибо. В принципе выбор пока не сделан, так как я еще не нашел команды разработчиков, но склоняюсь пока к Cache' по следующим причинам:
- более низкая цена (почти в 3 раза) по сравнению с D3
- возможность напрямую работать с портами TCP - в D3 все же придется делать внешнюю прокладку в виде Unix-программы, которая будет работать с сетью и обмениваться с D3 по OSFI.

С другой стороны, меня пока смущают такие вещи:
- смогу ли я собрать команду разработчиков под MUMPS - команда разработчиков под D3 есть в Вологде;
- будет ли действительно получен выхлоп в быстродействии без изменения клиентской части. Если для получения большего быстродействия часть обработки данных, выполняемых клиентом, необходимо будет переносить на сервер с Cache'/D3 (что даст 100%-й выхлоп по скорости обработки), то команда разработчиков увеличится еще и на тех, кто будет изменять клиентскую часть. Но если C-кодеры в нашей деревне стоят около 20 т.р./месяц, то сколько будет стоить квалифицированный М-щик мне пока неизвестно.

Всем, кто принимал участие в дискуссии - огромное спасибо - вы для меня многое прояснили. Хотелось бы все же услышать от тех, кто живет не в Москве и Питере среднюю з/п для квалифицированного М-щика, чтобы определится с бюджетом проекта.
...
Рейтинг: 0 / 0
Консультация
    #37628288
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DirksDR, извините, но указанная вами ссылка не работает. Может быть у вас есть этот пример где-то в другом месте?
...
Рейтинг: 0 / 0
Консультация
    #37628290
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk- смогу ли я собрать команду разработчиков под MUMPS
Можешь нам заказать...
Заключим договор, сделаем нормально...
...
Рейтинг: 0 / 0
Консультация
    #37628319
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk,

Попробуйте скопировать текст ссылки в броузер, или набрать вручную.
http://karataev.nm.ru/cache/mdapi.html - скопированный адрес у меня сработал.

По поводу насколько на М тяжело реализовать семантический анализ бинарного (в смысле, не ASCII) потока данных с разделителями символом \0. .
Семантический анализ можно по разному понимать, а вот строки с разделителями в М используются очень широко, есть набор эффективных функций для работы со строками.
Даже с разделителем 0:
USER>s sep=$c(0)

USER>s str=""

USER>s $p(str,sep,10)="12345"

USER>zw str
str=$c(0,0,0,0,0,0,0,0,0)_"12345"

USER>
...
Рейтинг: 0 / 0
Консультация
    #37628363
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk0. Опишите, если вы знаете, основные преимущества Cache' над Pick.Caché поддерживает эмуляцию для D3, PICK и др., обратное под вопросом: Available Flavors / Emulations ;

Поищите на этом форуме по "D3 Pick" ;
Sergey Goncharuk1. Возможно ли в Cache' получение данных на порт TCP и их дальнейшая интерпретация?Можно: TCP Client/Server Communication
Sergey Goncharuk2. Насколько вообще описанный подход, с вашей точки зрения, имеет право на существование (клиентскую части изменять нельзя)?Имеет:

АРМ-трафик

АРМ-трафик
Sergey GoncharukDirksDR, извините, но указанная вами ссылка не работает. Может быть у вас есть этот пример где-то в другом месте?Точку в конце ссылки уберите.

PS: все ли возможности по оптимизации PostgreSQL были использованы?
...
Рейтинг: 0 / 0
Консультация
    #37628410
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaSergey Goncharuk- смогу ли я собрать команду разработчиков под MUMPS
Можешь нам заказать...
Заключим договор, сделаем нормально...

Приложение потребует постоянной пддержки, так что в любом случае команду нужно искать на месте и свою.
...
Рейтинг: 0 / 0
Консультация
    #37628417
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, всем огромное спасибо.
В любом случае, сейчас все зависит от того, смогу ли я собрать команду разработчиков.
...
Рейтинг: 0 / 0
Консультация
    #37628707
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey GoncharukПриложение потребует постоянной пддержки
Таки постоянно поддерживаем ПО для 5-ти областей, уже более 10-ти лет. Т.ч. опыт в длительной и удалённой разработке и поддержке имеем.
Да и в командировки ездили не мало...

В любом случае решать тебе. Если з/п будет достойная (квартиру у вас можно будет купить) - могу приехать и всё организовать/обучить...
...
Рейтинг: 0 / 0
Консультация
    #37628782
Sergey Goncharuk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaквартиру у вас можно будет купить
С первой зарплаты ?
...
Рейтинг: 0 / 0
Консультация
    #37629683
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey Goncharuk С первой зарплаты ?
Это было бы прекрасно!

Сколько у вас стоит стандартная трёшка в 5-тиэтажке? У нас в районе 2.5млн.р...
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Консультация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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