powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД для медленного канала
25 сообщений из 159, страница 2 из 7
Выбор СУБД для медленного канала
    #39233746
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asphixДоброго времени суток!

Есть задача написать клиент-серверное CRUD-приложение (толстый клиент). Несколько удалённых офисов, ширина канала до сервера баз данных - (sic!) 128 кбит/с. Текущая поделка на Access 2007 безбожно тормозит. Посоветуйте что лучше использовать для реализации?

Изначально планируется клиент на Delphi. Вопрос в выборе СУБД (MySQL, PostgreSQL, etc..) и в выборе технологии коннекта (ADO, FireDAC, etc..)

Любоая клиент-серверная СУБД, плюс -- прямые руки.
Технологии коннекта любые, они все некритически различаются, грубо говоря, все одинаковые.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39233748
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНmiksoftпропущено...
Это почему же?
пропущено...
Почему?
В MySQL есть хранимые процедуры.
В хранимке очень удобно обрабатывать данные на сервере, не гоняя гигасы по сети.
В mysql по сравнению с другими СУБД их нет. Любой конкурент уделает мыскль на раз.
Та же птичка, к примеру.

В MYSQL есть процедуры. Работают. Вполне сносный язык.
Есть проблемы, но на новой разработке можно использовать последнюю версию MySQL, где всё более-менее починино.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39233749
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лично мне в процедурном языке mysql неудобно многое
1. Возврат набора данных через временные таблицы это извращение


Там нету такого. SELECT просто идёт клиенту, всё ОК.



2. Обработка исключений крайне неудобная

В последней версии всё сильно лучше.


3. Курсоры только явные, всяческие FOR SELECT сделать нельзя. Выход из курсоров тоже ужасен.
Ну, это -- да.


4. Триггеры ущербные. Несколько триггеров на одно событие не повесишь. Нету универсальных триггеров на несколько событий. В BEFORE INSERT триггерах значение автоинкрементных полей по какой-то причине ещё не известно.

А триггеры тут при чём? Ты о процедурах вообще, или о чём говоришь ? Триггеры к ним никак не относятся.


Кроме того в самом SQL нету CTE, что сильно осложняет написание сложных запросов. По сравнению с CTE Devired tables сильно загромождает код. Нету рекурсивных запросов.

Это всё брызги, не самое важное.

Ну да, mySQL не лучшая субд, но всё же не такая уж и плохая.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39233827
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В определенных случаях логичней заюзать терминалы - трафик при этом я бы не сказал что большой.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39233973
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv1. Возврат набора данных через временные таблицы это извращение

Там нету такого. SELECT просто идёт клиенту, всё ОК.


Это конечно. Если я могу получить данные простым SELECT, то зачем мне процедура? Я поясню что я имел ввиду.
Допустим мне надо получить последовательность чисел от 1 до 10. На FB это выглядело бы следующим образом

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE GEN_RANGE(START INT, FINISH INT) RETURNS (VAL INT)
AS
BEGIN
  VAL = START;
  WHILE(VAL <= FISNISH) DO
  BEGIN
     SUSPEND;
     VAL = VAL + 1;
  END
END

SELECT VAL FROM GEN_RANGE(1, 10)



никаких временных таблиц не нужно. В MySql ту последовательность от 1 до 10 мне бы пришлось сначала положить в таблицу а потом делать из неё SELECT внутри процедуры. Или я что-то не знаю?

Теперь дальше на сколько я знаю единственный способ вызвать ХП в MySQL это использовать CALL
CALL GEN_RANGE(1, 10)

Ну ладно в приложении с этим нет проблем. А вот как использовать набор данных возвращаемой процедурой внутри другой процедуры?

MasterZivА триггеры тут при чём? Ты о процедурах вообще, или о чём говоришь ? Триггеры к ним никак не относятся.

конечно не относятся, но триггеры являются частью процедурного расширения языка SQL. Я говорю о процедурных расширениях вообще.

MasterZivНу да, mySQL не лучшая субд, но всё же не такая уж и плохая.

Кто спорит. Работать можно и работаем. Но раз уж речь зашла о процедурах, то по сравнению со многими другими СУБД тут всё плохо.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234032
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВ MySql ту последовательность от 1 до 10 мне бы пришлось сначала положить в таблицу а потом делать из неё SELECT внутри процедуры.Для этого можно использовать любую имеющуюся таблицу. Да и таблица dual никуда не делась, хотя через нее неудобно.
Симонов ДенисА вот как использовать набор данных возвращаемой процедурой внутри другой процедуры?Тут, увы, никак. Прямой возврат возможен только на клиента.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234092
Ivan Durak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис[Допустим мне надо получить последовательность чисел от 1 до 10. На FB это выглядело бы следующим образом

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
CREATE PROCEDURE GEN_RANGE(START INT, FINISH INT) RETURNS (VAL INT)
AS
BEGIN
  VAL = START;
  WHILE(VAL <= FISNISH) DO
  BEGIN
     SUSPEND;
     VAL = VAL + 1;
  END
END

SELECT VAL FROM GEN_RANGE(1, 10)



Мощно.
Сравните с постгресом.
select generate_series(1,10)
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234136
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan Durak,

то что PG для этого придумал встроенную функцию это понятно. Вопрос был не конкретно в генераторе чисел от 1 до 10. Это лишь пример когда процедура должна генерировать данные, которые не получаются из запроса. Алгоритм то может быть сложнее и совсем другой
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234141
dvim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asphix,
-какие требования по работе приложения при пропадании канала.
на минуту/час /день?
-общий объем данных

От этого очень зависит логика.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234188
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно создавать локальные (региональные) БД и реплицировать по возможности.

Вообще странное это ограничение... на телефонных модемах там сидите штоли... ?
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234261
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, оракл сжимает трафик sql*net, остальные рсубд тоже? Какие сжимают, какие - нет?
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234268
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Беглый поиск дал: mssql server умеет сжимать только между своими инстансами, к клиенту не умеет; postgresql умеет только через openssl с какой-то версии, т.е. нужен именно ssl коннект. Что с остальными?
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234270
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderКстати, оракл сжимает трафик sql*net, остальные рсубд тоже? Какие сжимают, какие - нет?

Firebird 3.0 по умолчанию не сжимает, но это можно включить.
По умолчанию не сжимает потому что в ЛВС это не имеет смысла, затраты на сжатие перекроют выигрыш от него.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234275
asphix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dvim, при пропадании канала всех собак вешают на сетевиков головного офиса и простой не критичен совсем. На это можно не ориентироваться.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234294
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderЧто с остальными?
Firebird 3 сжимает zlib. Но против высокой латентности канала это бесполезно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234300
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

глянул мельком - правильно я понимаю, что еще не зарелизили? это только в 3.0 RC2 пока?
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234304
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtender,

куда то ты не туда смотришь. Релиз вышел 19 апреля.
http://www.firebirdsql.org/en/news/firebird-3-0-is-released/
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234305
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234307
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234308
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

3.0 - да, но фичи этой там не обнаружил. Вижу только в RC2:
1. http://tracker.firebirdsql.org/browse/CORE-733
2. http://web.firebirdsql.org/download/prerelease/rlsnotes/Firebird-3.0.0_RC2-ReleaseNotes.pdf
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234313
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderСимонов Денис,

3.0 - да, но фичи этой там не обнаружил. Вижу только в RC2:
1. http://tracker.firebirdsql.org/browse/CORE-733
2. http://web.firebirdsql.org/download/prerelease/rlsnotes/Firebird-3.0.0_RC2-ReleaseNotes.pdf

http://www.firebirdsql.org/file/documentation/release_notes/Firebird-3.0.0-ReleaseNotes.pdf - стр. 42.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234357
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

Спасибо, а то так далеко запрятали - я и в new features искал и в changes и в optimizations, а оно в new parameters
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234469
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, с т.зр. требовательности к плотности сетевого трафика - FireBird не самый лучший выбор.
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234479
asphix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему-то субъективно склоняюсь к postgre..
...
Рейтинг: 0 / 0
Выбор СУБД для медленного канала
    #39234508
stop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реляционную базу данных вообще бы не рекомендовал,
ибо реляционная модель не заточена на минимизацию трафика.

Тут варианта два,

либо реляционка с серьезным кешированием данных на локалхосте вплоть до репликации данных между двумя БД (локальной и централизованой, со всеми вытекающими).

либо документалка, способная прислать всю нужную информацию в одном джисоне.
...
Рейтинг: 0 / 0
25 сообщений из 159, страница 2 из 7
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор СУБД для медленного канала
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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