|
|
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
Прочитал некоторые собщения на форуме, по строке поиска ASA9. "мой вопрос" затрагивался, но, все-таки, решил спросить отдельно. Ситуация: Есть приложение Дельфи+БДЕ+ОДБС Запросы 2х категорий - большинство SELECT * FROM Table меньшинство SELECT * From Table WHERE ID=? Хранимых процедур нет и не будет. под ним сейчас ASA7, все на одной машине и так и останется. Текущий размер базы - 2Гб. Пора "поднимать" версию СУБД. Железка - P4 2.6 с хипертридинг, (2 в одном) ОЗУ - 1 Гб Диски - SCSI 320 на одноканальном 320м контроллере, зеркало. Вероянтый рост размера базы 4-7 Гб в год Ковырять в носу по поводу СУБД не хотелось бы раньше, чем года через 3. Значит "потребный" объем базы, который не должен вызывать существенных проблем ~20 Гб. железку по памяти наращивать допустимо, а всерьез заменять - не хотелось бы в ближайшие 1.5-2 года. Критично время отклика на селект. Особенность - существенная часть нагрузки приходится на запрос вида SELECT * FROM ПроблемнаяТабла WHERE status IN {1,2,3} поле статус - неключевое, влет не помню, есть ли по нему индекс, но, даже если есть - не больно он селективный окажется... Проблемность "ПроблемнойТаблы" в том, что может занимать от 20-30% процентов объема базы и выше. Собственно вопрос. Выбор, предлагаемый поставщиком - ASA9 или MSSQL2000 Про второй я хоть что-то представляю. Почитав здесь про ASA9 - первое впечатление - приблизительно равноправный выбор. Наверно, глубокие спецы по ASA9 найдут специфические ситуации, в которых ASA9 "победит" MSSQL2000. Прочитал об этом на форуме. Кажется описанные случаи к нам не относятся. Обратил внимание на замечания о большей надежности MS SQL2000.... вопрос. Могут ли найтись в ситуации, близкой к "нашей", обстоятельства, по которым выбор MSSQL2000 технически более предпочтителен. Доп. информация. 1) Писать ничего не придется. Придется делать backup. 2) в силу ряда, в основном организационных, обстоятельств чаша в сторону ASA9 висит практически однозначно. Хотелось понять - не забыто ли что и на что обратить особое внимание применительно к ASA9. Отдельно услышать - что там с бэкап-ресторе и, может быть, какие-то особенности работы оптимизатора запросов. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2004, 22:15 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
Приветствую. Советовать не берусь, но расскажу, с чем столкнулся сам. У меня Delphi+ODBC+ASA7. Пытался перейти на MSSQL2000. Что не понравилось: 1. Цепляю БД к существующему серверу. Если у кого - либо постороннего есть доступ к другой базе на этом сервере, то ему доступна также и моя. Не нашел способ, как это обойти. 2. MSSQL2000 не понимает первичные ключи таблиц Sybase'а. Так что пришлось писать дополнительный скрипт для переноса структур таблиц. 3. Не нашел механизм переноса индексов. Еще один скрипт. 4. Та же проблема с процедурами/функциями + некоторые отличия синтаксиса. Еще скрипт, более навороченный. 5. Совершенно другой синтаксис написания триггеров. Скриптом не отделался, пришлось серьезно подправлять. 6. Некоторые различия в типах данных: 6.1. Нет отдельных Date и Time, есть только общий DateTime. 6.2. Bit не допускает NULL. 6.3. Update MEMO/BLOB полей более сложный 7. Коряво сортирует слова на иврите (если для Вас это играет роль). Возможно, я неверно настроил базу. Что понравилось: 1. Скорость!!! Все летало, хотя и работало через драйверы ODBC(проверял на таблицах от 250000 записей * 40-50 полей) 2. Есть куча компонентов прямого доступа к базе, что позволяет выкинуть ODBC. Опять же положительно влияет на скорость. 3. Размер строки до 8000 знаков (а не 255) 4. Гораздо больше всяческих наворотов (хотя лично мне, пока, вполне хватает того, что есть в Sybase) Итог: Пока что пользуюсь ASA7 и если ASA9 будет шустрее, чем ASA7, то с переходом на MSSQL2000 повременю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 00:15 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
Victosha Судя по Вашим требованиям Вам равнозначно подойдут как ASA 9, так и MSSQL 2000. Я бы Вам предложил просто протестировать Ваше приложение на обоих СУБД и вживую посмотреть, на какой из них оно будет работать быстрее. Плюсы и минусы ASA думаю повторно перечислять не надо, они уже много раз обсуждались на этом форуме. Единственное, на что рекомендую обращать внимание - это на номер версии ASA, для которых были указаны плюсы и минусы, так как ASA < 8 и ASA 8 и 9 имеют абсолютно разные механизмы работы и оптимизаторы запросов. Michael7 То же самое - что Вам не нравилось в 7-ке, уже давно есть в 9-ке. автор1. Скорость!!! Все летало, хотя и работало через драйверы ODBC(проверял на таблицах от 250000 записей * 40-50 полей) 2. Есть куча компонентов прямого доступа к базе, что позволяет выкинуть ODBC. Опять же положительно влияет на скорость. 3. Размер строки до 8000 знаков (а не 255) 4. Гораздо больше всяческих наворотов (хотя лично мне, пока, вполне хватает того, что есть в Sybase) 1. Скорость на должном уровне. Поддерживается множество новых алгоритмов в оптимизаторе запросов, введены хэш-алгоритмы, переработан препроцессор компиляции запросов до интеллектуального уровня, способный самостоятельно перестраивать условия до более оптимизированного уровня, учитывать в них использование переменных, функций, перестраивать связи таблиц в запросе, даже выкидывать те, без которых можно обойтись. 2. Не меньшая куча компонент прямого доступа под Delphi (см FAQ) 3. Поддерживается размер char/varchar до 32кб. Размер long varchar/text - до 2гб. 4. По наворотам я молчу - даже новый Юкон когда выйдет, по функциональности будет все равно отставать от существующих возможностей ASA 9 (расширеные аггрегатные OLAP функции, расширенная поддержка XML, создание веб-сервисов и работа СУБД в режиме веб-сервера, оффлайн репликации, BEFORE триггера, сессионные глобальные временные таблицы с триггерами и т.д. и т.п.). Вообще возникает такое чувство, что MS вместо того, чтобы действительно расширить TSQL до должного уровня, решила вместо этого все свалить на C#. В ASA9 так же можно полноценно задействовать Java, но честно говоря ни разу такого желания не возникло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 14:18 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
ASCRUS Victosha Судя по Вашим требованиям Вам равнозначно подойдут как ASA 9, так и MSSQL 2000. [quot] Вот как бы я это чувствую, но смущение некое есть... [quot ASCRUS] Я бы Вам предложил просто протестировать Ваше приложение на обоих СУБД и вживую посмотреть, на какой из них оно будет работать быстрее. [quot] наверно это самое лучшее - я понимаю как взять 8-ку на посмотреть - скачать с сайта Sybase. 9.0.1 на посмотреть как будто не отдают, или я не знаю куда смотреть... Сгодится ли 8-ка как приближение, или все-таки 9-ку поискать. Вопрос задал несколько поздновато, решение практически принято, вот если в последний момент что всплывет. Честно говоря - большой разницы именно по скорости между ASA9 и MS SQL2000 на текущих объемах увидеть не ожидаю. Меня больше замечания о надежности беспокоят и какое-нибудь сопоставление механизмов backup|restore интересно было бы увидеть. По Вашим же отзывам делаю вывод, что до 10-15 Гб вряд ли намеряется что-то содержательное. А что там дальше - после 18? Дело в том, что мое личное предпочтение вокруг MS SQL крутится по психологическим соображениям в основном. В пользу ASA - а) цена вопроса по апгрейду прилично меньше получается б) установка SQL2000 сейчас выглядит как посадка в отцепленный вагон, а следующий поезд еще не сегодня придет. Про Юкон - что называется, выйдет финальная версия - посмотрим. Пока все очень интересно выглядит.... [quot ASCRUS] В ASA9 так же можно полноценно задействовать Java, но честно говоря ни разу такого желания не возникло. Вот уж и не говори... Интересно - практически вся отрасль в это вляпалась, и похоже уже не знает, что с этим делать... Поменьше бы им политики, да побольше техники... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 14:55 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
что-то странное получилось... Но, если приглядеться - видно... :)) (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 14:57 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
авторнаверно это самое лучшее - я понимаю как взять 8-ку на посмотреть - скачать с сайта Sybase. 9.0.1 на посмотреть как будто не отдают, или я не знаю куда смотреть... Отсюда качаете ASA 9 Developer Edition. В отличие от MSDE у нее нет никаких ограничений по обьемам БД и кол-ву подключений (см. FAQ ). Далее можно отсюда выкачать апгрейт до версии 9.01 и последний EBF. авторСгодится ли 8-ка как приближение, или все-таки 9-ку поискать. Вопрос задал несколько поздновато, решение практически принято, вот если в последний момент что всплывет. Честно говоря - большой разницы именно по скорости между ASA9 и MS SQL2000 на текущих объемах увидеть не ожидаю. В любом случае БД с 7-ки придеться оптимизировать. Причем я ожидаю, что на таком обьеме данных при простой перегонке БД без оптимизации скорее всего даже MSSQL покажет более высокую производительность, чем ASA9, но при наборе большего кол-ва данных все равно просядет и так же потребует оптимизации. Так же на чашу вешов в пользу ASA9 я могу подкинуть более граммотные средства оптимизации запросов по сравнению с MSSQL, где графический план запросов еще сам поддчеркивает критические места запросов, консультант индексов может работать в скане всех запросов к БД, профайлер ХП и триггеров может вылавливать критические места прямо построчно по коду скриптов, а дебаггер позволяет не только во время точек останова просматривать значения переменных, но и выполнять запросы и смотреть на них планы запросов. авторМеня больше замечания о надежности беспокоят и какое-нибудь сопоставление механизмов backup|restore интересно было бы увидеть. С надежностью все в порядке - БД на 9-ке сложно грохнуть, есть механизм Checksum, который ставит контрольные суммы на каждую страницу БД и сверяет ее при чтении страниц, что позволяет СУБД сразу же выявить сбойные сектора накопителя или несанкционированное изменение базы данных. Ну а методов онлайн и оффлайн резервирования базы данных вообще целое множество - полный Backup, нарастающий, с обрезкой лога, живой (то есть сразу на СУБД другого сервера), методом создания копии, по сети (то есть файл бакупа на другую машину) и т.д. Восстановление аналогично очень многофункционально, вплоть до того, что при разрушении БД и остающегося в живых лога, можно с последнего бакупа поднять БД и дать указание СУБД наложить на него лог разрушенной БД, то есть поднять до последней завершенной транзакции. Вообще в ASA9 просто прекрасный по описаниям всех принципов работ и функциональности BOL, рекомендую ознакомиться в нем по всем интересующим вопросам, он поставляется вместе с Developer Edition и обновляется вместе с каждым патчем (так как ASA в отличие от MSSQL продолжает функционально эволюционировать каждый месяц, вместе с ежемесячным обязательным патчем). А вообще резюмируя могу сказать, что тут конечно же от ручек и знаний зависеть будет. Лично я могу про себя точно сказать, что я могу на ASA9 организовать эффективную работу баз данных большого обьема с большим кол-вом подключений и без меньших затрат (я бы даже сказал геммора), чем отличный специалист на SQL2K, причем даже не я, а более опытный и граммотный - у меня просто на руках будет больше козырей (возможностей), которые позволят писать меньше кода и обходить острые углы, которые из за ограниченности присутствуют в MSSQL. Чтобы не быть голословным на вскидку приведу некоторые из них в MSSQL: 1. Траблы с кластерными ключами и множественными вставками записей. 2. Траблы с блокировками и деадлоками. 3. Ограничения с работой в ХП и триггерах типом Text и ограничения на максимальный размер VARCHAR в 8 кб убирают много хороших плюсов использования динамического SQL. 4. Сам оптимизатор запросов не любит не динамического SQL, ни использования функций или переменных в запросах. 5. Хранимые процедуры компилятся по существующей статистике, статистика обновляется можно сказать принудительно. 6. TempDB - это целая отдельная история, которая может спокойно вылиться в отдельный геммор. Плюс мне нравиться в ASA: 1. ХП компилятся при запуске БД и первом к ним обращениям, статистика автокоррелируется самим оптимизатором запросов по принципу - я предположил, я выполнил, я проверил на сколько ошибся, я поправил для себя статистику и свои планы запросов 2. Интелектуальный блок ведения кэша планов запросов, который отслеживает эффективные планы, кэширует и в дальнейшем проводит выполнение запросов по ним, не строя заново планы, но через определенные промежутки времени ради интереса заново строя новые планы, чтобы проверить, а не устарели ли существующие. 3. Наличие глобальных сессионных переменных вкупе с ХП, инициализирующейся на каждое подключение дает неограниченные возможности по инициализации сессии и выведения в такие переменные с таблиц констант, испольщующихся в запросах. 4. Наличие локальных и глобальных временных таблиц, которые кстати могут быть нелогируеммыми (NOT TRANSACTIONAL). Неплохо повышает скорость работы. Плюс глобальные временные таблицы сессионные, то есть она создается как постоянная таблица, однако каждая подключающаяся сессия будет иметь в такой таблице свои данные и не видеть чужие. На такие таблицы еще можно вешать триггеры, на которых потом элементарно можно сделать разброс изменяющихся в времянке данных по постоянным таблицам БД (фактически сделать аналог INSTEAD OF вьюверов MSSQL). 5. Однозначно нравиться отсутствие Master и TempDB - скопировал БД на другой сервер и успокоился, никаких забот о переносе юзеров, грантов, настроек на эффективную работу темповой БД и т.д. 6. Более интеллектуальный оптимизатор запросов, который действительно сам может корректно строить планы запросов в зависимости от заполнения данных, нагрузок, и даже характеристик железа, для привязки к которым существует специальный оператор тестирования их характеристик. 7. Ну и главное - постоянная эволюция и эффективная служба поддержки, где любой специалист вправе на их форумах быстро получить помощь напрямую от команды ASA, выложить найденный баг и получить его исправления через 1-3 месяца в зависимости от его критичности. От себя только могу сказать, что с февраля команда ASA исправила 6 моих заявленных багов, включила в список расширений к 10 версии мои действительно полезные пожелания. Из вышесказанного, я могу примерно набросать, когда полезно использовать ASA9: 1. Продукт тиражный 2. Продукт должен не требовать администрирования 3. Продукт должен быть не требовательным к аппаратной части, но масштабироваться до любого уровня аппаратуры 4. Продукт должен иметь в составе недорогую СУБД 5. Продукт должен иметь эффективный механизм репликаций 6. Продукт рассчитан на веб и должен граммотно работать с XML, HTTP и веб-сервисами 7. Продукт используется в кач-ве OLTP с достаточно мощной и сложной бизнес-логикой на борту средствами языка хранимых процедур СУБД. 8. Продукт позиционируется как мобильное приложение для КПК. 9. Продукт распределенный, где по местам OLTP СУБД должны быстро собирать и обрабатывать информацию, сливать ее в центр, где стоит OLAP/DSS сервер, который на себя берет аналитику и выборки по большим массивам данныз (в данном случае очень эффективно получается ASA + IQ, у которых общие корни развития WatcomSQL). 10. Требуется перспективная надежная быстро-развивающаяся промышленная кроссплатформенная СУБД для бюджетных и военных организаций, подтвержденно эксплуатирующаяся в мире - в общей сложности по миру официально зарегистрировано 8 миллионов инсталяций, доля в мире СУБД для КПК у ASA - 80%, клиенты - многие крупные авиалинии (например Британские Авиалинии), железнодорожные компании (ASA запущена как СУБД управления и обслуживания электропоездов Голландии), нефтедобывающие компании (Китайский нефтекомплекс, теперь судя по всему Лукойл), а так же военные программы: НАТО (программа Виртуальный солдат), Королевские вооруженные силы (СУБД для управления и координации тактическими силами) и т.д. Все это можно прочитать в историях запуска проектов ASA здесь . 11. Требуется повышенная защита доступа к информации (поддержка криптографии по 128 ключу криптографии БД, лога и временных таблиц). 12. Требуется работа в режиме чтения с сжатыми БД (поддержка read-only archive database). Ну а когда полезно использовать MSSQL лучше, если Вам скажут сами специалисты MSSQL со своей точки зрения (например для организации кластеров или работы множества БД, обращающихся к друг другу на одном инстансе ASA явно не подходит). Я вообще слышал вплоть до таких мотиваций выбора MSSQ, что там DTS есть, или диаграмки графические рисовать можно - бред конечно, но факт :) От себя могу сказать только одно - я 4 года работал на MSSQL, реализовыван на нем и БД с сложной бизнес-логикой на TSQL (расчет энергопотребления промышленными абонентами по схемам подключения, расчет зарплаты, расчет кварплаты). Но вот уже полтора года работаю с ASA9 (еще с полгода с ASA8) - и я просто приятно поражен и восхищен этой СУБД, которая развивается в сторону удобства и функциональности, причем именно для меня, а не маркетингова отдела Sybase и на которой я на всегда забыл слово "Геммор". Это конечно мое личное мнение и личный опыт использования и я наверное имею ее право похвалить, так как все таки считаю, что неплохо изучил ее вплоть до внутренних механизмов работы ASA и могу достаточно обьективно оценивать данную СУБД со своей колокольни :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 16:14 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
Кстати на официальном форуме ASA не так давно так же всплыла тема " ASAvs SQLServer ", можете еще ее почитать. Там же "не случайно" выплыла тема " ASE Express vs ASA ", в связи с выходом бесплатной версии ASE под Линукс. В принципе, многое, что будут говорить специалисты в этом топике про достоинства и недостатки ASE (если конечно разгориться флейм), будет касаться MSSQL, так как они с ASE имеют общие корни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 16:26 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
2 ASCRUS Спасибо. За ссылки - отдельное. (с выражением лица) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2004, 20:08 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
Во многом согласен с ASCRUS. Наличие репликации - супер-возможность. Простота переноса БД - ничуть не меньшее достоинство. Могу добавить свою success story :), коротко, использовал ASA9 для написания системы контроля транспортировки нефтепродуктов из Казахстана, Туркменистана через Каспийское море, далее через Азербайджан в Грузию (в два порта Батуми и Поти). Каждая точка (город) забивает свои данные, все это с задержкой 1-2 минуты оседает в других точках, при этом через веб-интерфейс владельцы груза наблюдают на состоянием груза в точках маршрута. Хотел было использовать MSSQL, но вот как-то удачно судьба свела с sql.ru и данным форумом про sybase. Огромное спасибо всем :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 09:32 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
Michael7Приветствую. 1. Цепляю БД к существующему серверу. Если у кого - либо постороннего есть доступ к другой базе на этом сервере, то ему доступна также и моя. Не нашел способ, как это обойти. Это вряд ли. Michael7 ... 7. Коряво сортирует слова на иврите (если для Вас это играет роль). Возможно, я неверно настроил базу. Это ты неверно настроил базу. Michael7 Что понравилось: 1. Скорость!!! Все летало, хотя и работало через драйверы ODBC(проверял на таблицах от 250000 записей * 40-50 полей) 2. Есть куча компонентов прямого доступа к базе, что позволяет выкинуть ODBC. Опять же положительно влияет на скорость. Тормознутость драйверов ODBC - это широко распространенный миф. Michael7 3. Размер строки до 8000 знаков (а не 255) 4. Гораздо больше всяческих наворотов (хотя лично мне, пока, вполне хватает того, что есть в Sybase) Итог: Пока что пользуюсь ASA7 и если ASA9 будет шустрее, чем ASA7, то с переходом на MSSQL2000 повременю. Да, в общем, доводы "высокоактуальные". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 13:27 |
|
||
|
переходить ли на ASA9?
|
|||
|---|---|---|---|
|
#18+
VictoshaЗапросы 2х категорий - большинство SELECT * FROM Table ... Значит "потребный" объем базы, который не должен вызывать существенных проблем ~20 Гб. ... Критично время отклика на селект. Особенность - существенная часть нагрузки приходится на запрос вида SELECT * FROM ПроблемнаяТабла WHERE status IN {1,2,3} ... Проблемность "ПроблемнойТаблы" в том, что может занимать от 20-30% процентов объема базы и выше. ... Отдельно услышать - что там с бэкап-ресторе и, может быть, какие-то особенности работы оптимизатора запросов. Слушай, какие-такие особенности оптимизатора при таких запросах, как у тебя, на выпорку всех записей таблицы ? Какая тебе вообще разница, какой сервер ставить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.09.2004, 15:42 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32690785&tid=2014227]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 15ms |
| total: | 156ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...