![]() |
|
Модераторы: LSD |
![]()
|
|
| Albinos |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 11.10.2003 Репутация: нет Всего: 3 |
Пишем программу для производства.
Вроде ваяли на Дельфи, с использованием Access базы данных через ODBC. И все было хорошо, пока все было на локальной машине. А когда началась сеть - началась попа. От Access`a с ODBC приходится отказываться (хотя очень удобно, но и не быстро). Какую базу выбрать - MS SQL или Oracle? Честно говоря, я вообще не очень-то с базами. Поставил MS SQL - испугался, поставил Oracle - испугался еще больше. Снес Oracle - тормозит работу компьютера сильно, даже очень сильно, заново постаил SQL. Вроде не так страшно. В общем, программа представляет менеджерский модуль и производственный модуль. Менеджерский принимает заказ, производственный выполняет его. Менеджеров и производств может быть много, у каждого свой модуль. Так вот, какую базу лучше использовать? Как у обоих серверов обстоит дело с синхронизацией баз (в смысле встроенных средств)? Еще интересует защищенность передаваемых по сети данных. Честно, Oracle пугает. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Возможности Oracle и MS SQL Server примерно одинаковые. Может MS SQL Server - чуть проще в освоении, чуть более визуальный, и чуть менее дорогой. Oracle - чуть более тяжёлый, требует чуть больше ресурсов, но и рассчитан на бОльшие массивы данных. Но при переходе с MS Access лучше переходить на MS SQL Server - так как один производитель - меньше будет проблем в логике работы кверей. Ну и естественно использовать не ODBC, а ADO
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Albinos |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 11.10.2003 Репутация: нет Всего: 3 |
Блин, а почему тогда Oracle занимает 1,72 Гб, а MS SQL - ~150 Мб
И так сели писать под MS SQL. Вопрос в том - как объяснить клиенту почему MS SQL, а не Oracle??? Да и самим понять неплохо было бы... |
|||
|
||||
| Vit |
|
||||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
А какая разница сколько места занимает?
Зачем ему это объяснять? Ему нужен результат или объяснения? Если ему интересны объяснения - то пусть сам и выбирает на чём писать и что использовать...
Боюсь что это задача про "буриданова осла", как я уже сказал основные возможности обоих серверов сходные, они оба пригодны для решения задач с базами данных средних и крупных размеров, различие в деталях. В прочем для заказчика разница в цене примено на 10-20 тыс. долларов возможно достаточный аргумент в пользу MS SQL Server -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||||
|
|||||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
У меня 9-й Oracle. Неполная установка - 3.98 GB. И то половины нет! А вообще (может немного не в тему), но я бы, при критичности скорости, использовал бы БД Cache. По последним тестам он быстрее Oracle! (хотя Oracle отказывается признать эти результаты..) -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Да и Delphi vs Cache = "со свистом работающая программа"...
-------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Albinos |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 11.10.2003 Репутация: нет Всего: 3 |
Размер имеет значение
Да вот заказчик рубящий. Он сам себе такую - я даже не знаю как назвать - в общем "базу" на Excel`e сбацал! Но, перестала устраивать скорость экселя. И если бы вопрос стоял в убеждении заказчика - то убедил бы, что Access - лучшее решение (в институте пять лет учат парить
Да я не смотрел сколько места он занимает точно - установка сказала, что 1,72 Гб, да и место на винте заметно поубавилось
Что-то я про такую не слышал. Попробую узнать.
Dlephi отдыхает |
||||||||||
|
|||||||||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Разница в размере легко объяснима - Oracle это кросплатформенный продукт, поэтому он тянет за собой все библиотеки и т.п. MS SQL Server - это чисто виндовое приложение, и по сути использует ресурсы винды.
А вообще можно Hello World написать на разных языках: BAT файл - 20 байт ASM - 100 байт VC++ - 4 kb Delphi+VCL - 200kb VB+VBRunxx.DLL - 2 Mb C# + .net FrameWork - 20 Mb Разница на 6 порядков! Программа делает одно и то же... Короче, ИМХО, в современных программах абсолютно глупо рассмотривать функциональность по размеру программы - и если Ваш заказчик этого не понимает, то не тратьте время на дурака, поищите кого-нибудь по умнее, который будет ориентироваться на возможности программы и на то что реально необходимо для проекта, а не гнаться за самым крутым и оценивать возможности по размеру инсталляционного пакета. PS. Может из рассчёта на таких идиотов и мне к каждой программе добавлять метров по 100 всякого мусора, чтоб солидней было? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| val |
|
|||
![]() Program developer ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 992 Регистрация: 14.1.2003 Где: г. Киев Репутация: нет Всего: 7 |
Не мог бы более детально описать эту БД Cache и как с ней работать в Делфи... Первый раз слышу... Очень любопытно... -------------------- Терпимость - величайшее благо человечества... Ярчайший признак интеллекта – постоянно хорошее настроение… |
|||
|
||||
| Alex101 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 891 Регистрация: 8.4.2002 Где: Москва Репутация: нет Всего: 10 |
К нам приходят заказчики как раз после того, как с MS SQL сервером намучились - Oracle хотят. Если количество пользователей уже три - четыре десятка и довольно напряженный документооборот, то нужен Oracle. Как мне сказал один из клиентов "MS SQL - головная боль".
Ежели количество пользователей около сотни, то думать нечего. Еще, у MS SQL Server ограничение на количество вложенности в запросах where, у Oracle нет. -------------------- С уважением, А. Фролов. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Есть такое дело - я тоже говорил, что ORACLE оптимизирован под более сложные базы данных, хотя если вы имеете с ним проблемы при указанном трафике это свидетельствует о том что либо Вы чего-то неправильно делаете, либо администратора выгнать надо. На таком количестве пользователей проблем не должно быть по определению. Проблемы возникают при 10000 одновременных подключений и более. У нас система из более чем 200 компьютеров (программы по автоматической обработке) и несколькими web сайтами с очень большим трафиком (сотни тысяч посетителей в день), используем MS SQL Server: размер баз данных - около 200 Gb Самая большая таблица - около 50 Gb количество одновременных подключений - более 1000 Среднее количество кверей выполняемых сервером - около 50 в секунду Проблемы с производительностью были, но все они были связаны не с сервером, а с кривым программированием или администрированием - были взяты мозги, сделаны изменения в логике програм и кверей, проведена оптимизация сервера - и никаких проблем нет. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
Ну, если ОЧЕНЬ любопытно... Сразу скажу, что я не большой спец в ней, хотя кое-какие вещи уже создавал... Во всяком случае мне нравится - просто и красиво. Хотя не знаю, сколько енто все стоит. Итак. БД Cache разработана компанией InterSystems. Позиционируется как одна из наиболее быстрых БД на сегодняшний день. Если не ошибаюсь, были проведены тесты на скорость, в ходе к-х было выяснено, например, что биллинговая система, основанная на Cache не уступает Oracle'кой, а при значительном количестве транзакций даже обходит Oracle (хотя, как я говорил раньше, Oracle не признает эти тесты). На сегодняшний день Cache поддерживает следующие модели баз: 1) реляционная (вроде правильно назвал?); 2) объектная; 3) сетевая; 4) и, как не странно, казалось бы умершая, древесная модель (кстати, очень неплохая вещь!). С реляционной я думаю все ясно. Объектная? - ну, это просто объектный подход к данным: можно создавать классы (естественно, имеется наследование и все такое). Интересная вещь - к классам можно прикомпилить запрос (насколько это быстрее - сейчас проверяю. Будет интересно, расскажу). Методы класса можно создавать на 3 языках (начиная с 5-й версии): 1) Basic; 2) Java; 3) "родной" язык Cache - Cache Object Script. Немного непривычен, но довольно эффективен. Можно так же создавать проги, работающие в среде Cache, запускать внешние проги, распараллеливать потоки и т.д. Еще интересная фишка - если ОЧЕНЬ важна скорость, можно создавать функции на C++ и прикомпилировать к ядру Cache. Так наз. call-in функции. По проведенным тестам скорость увеличивается почти в 100 раз! Что еще? Не знаю как в других базах, но здесь мне понравилась, как я уже говорил, древесный подход к данным - это позволяет легко строить всевозможные индексы. Имеется возможность хранения XML-документов в базе, что позволяет хранить кучу настроек приложения в самой базе. Очень развиты Internet-технологии. Есть специальный сервер Cache, к-й позволяет создавать CSP-файлы (если по простому - результат обработки такого файла - интернет страница, работающая с базой: достаются данные, удаляются таблицы, создаются отчеты и т.д.) Получается, все приложение может работать в броузере! На одной машине установлен Cache, а остальные просто соединяются по сети, используя минимум ресурсов, что особенно выгодно для фирм, со слабыми компами и локальной сетью. Как говорится, Delphi&K отдыхают. Конечно, такое есть и в других базах - я просто рассказываю все подряд... Ну вот, в кратце, об этой базе. Как соединяться? О, здесь куча вариантов. Во-первых, драйвера ODBC. Сразу скажу, не самый быстрый способ, но самый простой - в Delphi вообще все просто: через BDE или ADO. Можно написать класс на Java - InterSystems предоставляет JDBC-драйвера. (кстати, вместе с базой поставляется хорошая документация) Следующий способ, для технологий, поддерживающих ActiveX, есть специальные компоненты - CacheList, CacheQuery, VisM (может, чего-то еще). Отмечу, что также не самый быстрый способ. Наконец, мой любимый и самый оптимальный, на мой взгляд, способ: соединение через CacheObject. InterSystems предоставляет специальную библиотеку CacheObject.dll, содержащую классы для работы с Cache. Тут без разницы на чем Вы пишете. Любая среда, поддерживающая COM легко с ней совладает. Я создавал проги на Delphi, VB, C++Builder - просто, дешево, красиво. В общем, выбирайте, что Вам надо - опишу любой способ: есть немного опыта. Все описывать в одном ответе надоест читать, а я и так разошелся. Теперь о требованиях к системе. Cache занимает около 200MB, ест оперативной памяти гораздо меньше чем Oracle, но сколько точно я не помню. Последние версии (у меня 5.0.3.720.1) требуют не ниже win2000 sp4. Хотя прошлые версии ставил на голый 2000. Кстати, есть версии для .nix-ов. Советую посетить сайты: www.intersystems.ru & www.intersystems.com. Кстати, в Москве есть представительство InterSystems. Страницы не очень, НО! Там можно скачать Cache "для знакомства с системой". Скачайте, гляньте. Понравится - расскажу подробнее как работать. Только сразу предупреждение: по-моему при установке вас спросят, какую кодировку хотите установить. Так вот, если хотите иметь возможность на будущее компилировать ф-ции на C++ - выбирайте UNICODE. Напоследок скажу, что наиболее дружественная с Cache ситема разработки - все-таки VB... Вот теперь вроде все. P.S. Пожалуйста, не рассматривайте меня как распространителя Cache или сотрудника InterSystems. Я просто с ней работал, мне понравилось. Тем более если у вас раньше все было на Excel, то Cache Вам хватит выше крыши! Зачем Вам Oracle? Он же столько ресурсов ест! -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| Wladislav |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 13.10.2003 Репутация: нет Всего: нет |
А чем плох VFoxPro?
|
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 14 Всего: 207 |
Ничем он не плох. Причём здесь VFoxPro? Речь идёт о многопользовательском сервере баз данных...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Albinos |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 11.10.2003 Репутация: нет Всего: 3 |
Я имел ввиду не своего клиента, а общепринятый стереотип.
Я много раз слышал фразу "объектная база данных", нос лышал от мягко говоря "не очень" компетентного в этих делах человека. Мне казалось что это "масло-маслянное" - разве реляционная модель не поддерживает в какой-то мере объектную И интересно как все это устроено - как хранятся данные (видимо в виде тех-же самых таблиц, только с возможностью наследования)? Или как? Класс подразумевает под собой единство данных и методов. Вы говорите, что к классу можно прикомпилить запрос - это не то же самое, что хранимая процедура? Или я что-то совсем путаю? Очень хотелось бы услышать про этот подход подробнее (и в первую очередь достоинства). |
||||
|
|||||
![]()
|
| Правила форума "Общие вопросы по базам данных" | |
|
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |