Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Консультация / 25 сообщений из 29, страница 1 из 2
23.01.2012, 16:25
    #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
23.01.2012, 16:28
    #37627300
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
а можно ссылочку на Pick, а то что то не найду о чем вы
...
Рейтинг: 0 / 0
23.01.2012, 16:30
    #37627309
Sergey Goncharuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
DAiMor, да, конечно.
Сайт производителя: http://tigerlogic.com/tigerlogic/pick/database/pickdatabase.jsp
Немного документации от представителя в РФ: http://d3doc.ru/
...
Рейтинг: 0 / 0
23.01.2012, 16:34
    #37627322
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
Sergey Goncharuk,

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


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

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

все зависит от того что вы сразу хотите реализовать на Cache без "прокладки". вы скажите какой именно компонент вы хотите заменить. если у вас там есть какая то серверная часть которая сама общается с СУБД, и есть какой то протокол с клиентом, то вам только нужно повторить этот протокол, что может быть сложно, эмулировать Postgres будет еще сложнее.
поэтому важно найти наиболее удобное место между вашим приложением и субд куда можно будет вставить адаптер который будет работать уже с другой субд. и в зависимости от выбранного места, можно будет решить на чем его реализовать.
...
Рейтинг: 0 / 0
23.01.2012, 20:51
    #37627878
Sergey Goncharuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
DAiMor, сформулирую задачу еще более локально: насколько на М тяжело реализовать семантический анализ бинарного (в смысле, не ASCII) потока данных с разделителями символом \0.
...
Рейтинг: 0 / 0
23.01.2012, 21:52
    #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
24.01.2012, 09:25
    #37628287
Sergey Goncharuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
DirksDR, спасибо. В принципе выбор пока не сделан, так как я еще не нашел команды разработчиков, но склоняюсь пока к Cache' по следующим причинам:
- более низкая цена (почти в 3 раза) по сравнению с D3
- возможность напрямую работать с портами TCP - в D3 все же придется делать внешнюю прокладку в виде Unix-программы, которая будет работать с сетью и обмениваться с D3 по OSFI.

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

Всем, кто принимал участие в дискуссии - огромное спасибо - вы для меня многое прояснили. Хотелось бы все же услышать от тех, кто живет не в Москве и Питере среднюю з/п для квалифицированного М-щика, чтобы определится с бюджетом проекта.
...
Рейтинг: 0 / 0
24.01.2012, 09:26
    #37628288
Sergey Goncharuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
DirksDR, извините, но указанная вами ссылка не работает. Может быть у вас есть этот пример где-то в другом месте?
...
Рейтинг: 0 / 0
24.01.2012, 09:27
    #37628290
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
Sergey Goncharuk- смогу ли я собрать команду разработчиков под MUMPS
Можешь нам заказать...
Заключим договор, сделаем нормально...
...
Рейтинг: 0 / 0
24.01.2012, 09:48
    #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
24.01.2012, 10:26
    #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
24.01.2012, 10:56
    #37628410
Sergey Goncharuk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Консультация
krvsaSergey Goncharuk- смогу ли я собрать команду разработчиков под MUMPS
Можешь нам заказать...
Заключим договор, сделаем нормально...

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

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

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


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