Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: что выбрать  [new]
Pavel
Member

Откуда: Кемерово
Сообщений: 2435
Могу привести пример кривой оборотно-сальдовой ведомомти, построенной на прочти нормальной структуре, где MSSQL все еще работает, а ASA прощается разными способами (в зависимоти от операционки), но стабильно.

З.Ы.
Нормально составленный запрос успешно работает на обоих серверах.
2 мар 04, 19:38    [560218]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
автор
Могу привести пример кривой оборотно-сальдовой ведомомти, построенной на прочти нормальной структуре, где MSSQL все еще работает, а ASA прощается разными способами (в зависимоти от операционки), но стабильно.

Есть одно большое НО. Каждый раз, когда у меня ASA прощается из за каких то глюков, я вылававливаю, на чем он спотыкается, далее просто захожу на Sybase.com, регистрирую баг, отвечаю на вопросы службы поддержки, если им что то не понятно и через некоторое время скачиваю патч (от месяца до пару в зависимости от загрузки отдела инженерного сопровождения), в котором со мной больше ASA не прощается :) Печально, но MSSQL этим похвастаться не может, многие баги в нем могут тянуться через большое кол-во сервис-паков, несмотря на то, что уже заявлены и описаны. Так же до кучи я спокойно могу зайти на форум по ASA, посвященный его дальнейшему развитию и пообщаться (поспорить) с разработчиками по поводу доработки его функциональности, которая бы очень пригодилась. Наглядный пример такого форума - это появившиеся в ASA 9 Common Table Expression, Web-сервисы, возможность выборки из ХП и т.д. Недавно выпущенный апгрейт ASA до 9.01 опять же демонстирует кучу новых возможностей, ноги которых растут из данного форума, что не должно не радовать разработчиков.
2 мар 04, 22:31    [560349]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
f_w_p
Member

Откуда:
Сообщений: 1603
Могу привести пример кривой оборотно-сальдовой ведомомти
Это как же надо извратиться?
3 мар 04, 08:02    [560622]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Pavel
Member

Откуда: Кемерово
Сообщений: 2435
Уже не помню всех нюансов, но принцип такой: вместо использования UNION с последующим CASE использовались кучи подзпросов, сыязанных внешним обьединением.
3 мар 04, 08:51    [560647]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
mv
Member

Откуда:
Сообщений: 8876
что же у вас за структура что MS SQL не справляется ?

Ну, например, сетевая архитектура с сотнями тысяч разнородных узлов и множеством связей между оными... Может, эмулировать можно было бы, да вот как выборки сетевых подмножеств средствами SQL как делать?

И реалтайм в строительстве ? Это что-то новое.
Да, подъемными кранами и бульдозерами рулит... :)

Основная работа - проектная. Составление смет (etc). Оч. хочется, например, применив массив коэффициентов, видеть результат сразу же.

Сервер на i386 ?

Сервер на P-2/300 минимум, иначе хреновато, честно говоря...

------------------------
SQL еще долго рулить будет. Глазки у народа зашорены, ничего другого не знает...
5 мар 04, 15:27    [565837]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145754
Pavel
Приведи пример. Я не понимаю, что значит "кривая" ОСВ.

ASCRUS
Пожалуйста, тоже пример кривого программирования

Я это не к тому, что бы кого то обидеть. Просто интересно, какие "кривизны" встречаются. Мне, к счастью не довелось править чужие базы, но все может быть. Может быть Ваш опыт когда-нибудь мне поможет.
5 мар 04, 21:41    [566426]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Cat2
Да в принципе все, что можно найти в советах "Не делайте так" форума MSSQL присутствовало в последнем проекте, который я правил:
- постоянное использование по любому чиху темповых таблиц, к тому же получаемых посредством запроса SELECT INTO #TempTable
- полное отрицание подзапросов, вместо них всегда использование темповых таблиц
- частое использование UDF и ХП в качестве "повторно используемого кода", их в БД не одна тысяча, друг друга вызывают этак уровнем вложенности до 20, ну прямо продуманная иерархия обьектов, ляпота
- никаких поддержек транзакций, все прет в AUTOCOMMIT, соотвествующе постоянные DELETE перед любым шагом - а как же, вдруг посреди пути процедуру вышибло и только половину таблиц она изменить успела
- гордый отказ от использования курсоров - мы же крутые разработчики, никаких курсоров, циклы WHERE EXISTS() ... гораздо веселее
- никаких попыток разруливать блокировки, знай себе по умолчанию PAGELOCK долбит, еще и постоянные таблицы в качестве временных используются, и что странно - вроде все данные по @@SPID разделены, а вот пользователи почему то друг друга блокируют
- триггер друг человека, поэтому его обязательно и везде надо использовать. Только в MSSQL его как то "криво" сделали - возвращает понимаешь весь набор изменяемых записей, не удобно обрабатывать, вызывая на каждую запись ХП (а как же иначе, ведь ХП повторно используемый код, все по правилам), глядишь еще и этот ужасный как говорят курсор организовывать придеться. Выход всегда есть - правильно, IF (SELECT Count(*) FROM Inserted) > 1 RAISERROR('Нельзя добавить больше одной записи', 16, 1) . Шик, нигде злобная клиентская часть не добавит больше одной записи, соблюдается понимаешь главный принцип - контроль (правда в данном случае не целостности, а контроль, чтобы решение не навернулось). Помниться мне еще Glory как то удивлялся, зачем запрещать в триггере изменять больше одной записи.
- План запросов это все от лукавого. Ведь и так понятно, что как бы программист не написал запрос, умный и добрый MSSQL всегда его наиболее оптимально выполнит, подумаешь там всякие NOT EXISTS, соединение таблиц через OR, использование UDF в WHERE, которые ко всему прочему частенько служат для соединения таблиц, круто же в UDF по переданному параметру найти и вернуть ID, очень понимаешь потом в запросах удобно использовать на другие таблицы ее.
- Кстати, никто не подскажет - а что такое статистика, размер страницы БД, FILL FACTOR таблиц, и почему везде на многомилионных таблицах кластерный индекс тормозит на операциях удаления и добавления данных, ведь говорили же, что на нем всегда все быстрее. наверное это все злые термины, голову понимаешь пудряд почем зазря
- Странно, почему, как только поменяли сервер на многопроцессорный и мощный, все так стало тормозить - наверное надо один процессор ОС отдать, другой MSSQL

Ну и так далее и тому подобное. Я вообще когда эту базу рассматривал, как одну из возможностей видел убить всю ее логику, оставить только входящую структуру и переписать все оставшееся с нуля. К сожалению это не удалось - проектировка БД тоже на уровне - после того, как я вывел схему в PowerDesigner, то первой моей мыслью было - надо же, PD то оказывается глюкавит с отрисовкой диаграмм, вон как размазал линиями, покрыв почти всю диаграмму. Однако сделав zoom я с ужасом понял, что это не PD глюкавит, на таблице, к которой на глазок шло больше всего связей я насчитал порядка 56-и FOREIGN KEY. Далее уж по ходу пьесы я нашел кучу структур в виде деревьев, для которых были написаны UDF, которые в виде рекурсии генеририли путь от node до вершины, а на их основе были созданы COMPUTED поля - удобно черт подери - а то там еще о каких то алгоритмах говорят, рекурсивные запросы в СУБД встраивают. Далее я нашел таблицу, у которой было 12 индексов на одни и те же поля. Уж потом вскрылась куча таблиц, у которых частенько дублировались FOREIGN KEY. В запросах на не хилые по обьему таблицы я нашел уже потом "веселые связи", типа:
SELECT T1_ID = t1.ID, T2_Name = t2.Name
FROM Table1 t1, Table2 t2, Table3 t3, Table1 t4
WHERE t1.ID = t2.ID AND t2.ID = t3.ID AND t3.ID = t4.ID AND t4.ID = t1.ID
В принципе этот запрос MSSQL разрулит, но там ситуации были помощнее. Кстати я не зря привел пример в ANSI 89, все скрипты писались в таком же духе, когда в ХП нет отступов слева и между, когда идет непрерывный потом операторов SELECT, DELETE, INSERT, плюс в SELECT-ах в FROM до 30 таблиц и все связи в WHERE, выглядит просто впечатляюще.

В общем начальство меня просило вынести ведикт, я его вынес - пока деньги приносит, пусть себе работает и окупается, править там нечего. Жить проект будет настоящим, будующего у него нет.

Так же в целях увеличения безопасности порекомендовал его разработчикам купить снайперки и от отдела сопровождения отстреливаться на расстоянии, в ближний бой с ними или клиентами не вступать, а то силы будут не равны - разработчиков то 3-е, а вот отдел сопровождения - это целая армия, которая почему все равно никак не может обеспечить правильную и нормальную работу сего проекта :)
6 мар 04, 01:07    [566510]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
andbary
Member

Откуда: Москва
Сообщений: 756
mv

Я сталкивался с объектными базами в реальных задачах... Проблемы те же...
Но меня больше волнует не кривое программирование, а кривая постановка задач, вытекающая из кривого планирования...
И если потом в реляционных базах, что то можно сдеалать, то в обьектных пиши все связи заново... (читай делай задачу снова).
Была жасмин у СА... И где она теперь, кто на ней пишет...
А если твой шеф круче чем СА, то я тебе просто завидую)))
10 мар 04, 12:36    [570072]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
mv
Member

Откуда:
Сообщений: 8876
С СА я не знаком, но мой шеф - охренеть какой крутой...

Я видел DOS - овские версии его программ, (Borland Pascal), там Drag-n-Drop, Docking, Windows, BitMapPrintig ...- уже все было, в графическом режиме. Везде - исключительно объектная постановка / реализация задач.
Плюс своевременный маркетинг. Вот таких вот монстров Бауманка готовит.
Я тоже поначалу прикалывался над "детской болезнью", но потом увидел продукты, и постепенно заткнулся.
Сейчас он к своей системе IDE + систему моделирования объектов доделывает.

(Правда, для мелких задач, типа тех, на которые SQL катит - он меня взял, с ErWin/SQL ему недосуг разбираться. :)!

Зато я у нас - супер-пупер специалист по SQL! (других потому что нет .:)
10 мар 04, 13:37    [570251]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
автор
Я тоже поначалу прикалывался над "детской болезнью", но потом увидел продукты, и постепенно заткнулся.
Сейчас он к своей системе IDE + систему моделирования объектов доделывает.


А нужно то всего-навсего поставить Delphi или что-ьл подобное и не болеть.... от старческой болезни значит

-- Tygra's --
10 мар 04, 15:13    [570518]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
andbary
Member

Откуда: Москва
Сообщений: 756
mv
Грустно... Или я что то не понимаю...
ERwin - Один из продуктов СА (Computer Associates), третьей фирме по деньгам после MS и Оракла....
И что за фирма??? Чем занимаетесь???
PS Срок службы современного компа два три года... Потом дешевле купит новый, поэтому использовать в качестве сервера Р 300, можно... Но лучше заменить... на всякий случай))))) Работая в одной, очень не богатой структуре мы ставили такие машины в качестве серверов в 97 году(В аккурат осенью)))))


tygra
А вам бы только прикольнуться))))))
10 мар 04, 15:57    [570620]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
А что еще остается.... :)
Когда люди (шеф) вместо дела кое-чем другим страдают..... Вселенную покоряют....... Колесо квадратное изобретают......

-- Tygra's --
10 мар 04, 16:41    [570755]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
mv
Member

Откуда:
Сообщений: 8876
А нужно то всего-навсего поставить Delphi или что-ьл подобное и не болеть.... от старческой болезни значит

В общем, всё на Delphi и строится (ну, кроме нашей Веб-студии - там у них всяческие PHP и прочая, на мой наглый взгляд, гадость).

или что-ьл подобное - а что еще есть "подобное" Delphi?

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

Отделы связи с клиентами и сопровождения пашут, конечно, как кони, потихоньку перетаскивают к себе клиентов (между прочим - еще ни одного не потеряли!), сперва было только по Москве и области, а сейчас и по другим областям пошло.

Да, внутренняя система управления производством - "окучивание" перспективных клиентов, управление заказами, контроль оплаты, управление производственным отделом (дистрибутивы, доставка, обслуживание, обучение...), сопровождение и ведение истории взаимодействия с клиентами (и прочая лабуда, которую сейчас зовут ERP/CRM) - на основе FireBird. + Delphi. SQL - нее некуда.

2 -- Tygra's -- "Молчи, если не был в Керчи." Л.Трубецкой.
10 мар 04, 17:29    [570883]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
andbary
Member

Откуда: Москва
Сообщений: 756
P.S. А потом кто то удивляется... Пришла Аксапта... и всех скушала...
10 мар 04, 17:58    [570962]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Quark
Member

Откуда: Екат
Сообщений: 1099
2mv

А не могли бы вы вашего шефа к нам на форум позвать. Пусть расскажет вкратце естессно-без выдавания комм. тайны, что же он такое сделал.
Мож действительно Новый Билл?
11 мар 04, 06:36    [571462]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
alex_k
Member

Откуда: krasnoyarsk
Сообщений: 6694
извините конечно, но что такого сделал билл? я про программирование говорю, а не про маркетинг
11 мар 04, 07:26    [571495]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Лично я чем дольше программирую, тем больше убеждаюсь, что практика делания своих велосипедов не надежна и наносит больше вреда, чем пользы. С точки зрения эффективности проектирования задача должна быть четко поставлена и разграничена - если пишется прикладной софт, то он должен писаться на существующих средствах разработки для такого софта. Если пишется сама среда разработки, то это отдельный продукт, ориентированный на определенный рынок. Соотвествующе для каждого направления выгодные разные средства разработки ПО, у каждого своя стоимость и маркетинговая политика развития, ну и т.д. Писать же только для самого себя инструмент, на котором потом делать и продавать прикладное ПО, мне кажется занятие не благодарное и является просто потерей времени. Я уже молчу про то, что собственный инструмент разработки, не продвигающийся на рынке как отдельный продукт является закрытой системой, требуется процесс обучения новых сотрудников, не являясь окупаемым и тиражируемым он по любому будет иметь большие ограничения по функциональности, доработка и его сопровождение потребует необоснованных вложений средств и времени, так же молчу про размер и качество документации на такой инструмент и зависимость всего прикладного ПО от разработчиков движка - вот уйдет шеф mv куда нибудь, то то весело станет. В общем лично мое мнение, что движки писать можно и нужно, но только при условии, что они позиционируются как отдельный тиражируемый продукт, могут занять свою нишу в рынке продуктов ПО и приносить доход. Иначе овчинка выделки не стоит - гораздо проще и эффетивнее правильно выбрать для написания прикладного ПО наиболее подходящий из существующих продуктов, чем лепить свое. Пока во всех случаях рассмотрения различных велосипедов - хороших, плохих и даже гениальных я приходил только к одному выводу - их разработчики просто ничего не знали, что уже существует ПО, делающее все то, что им нужно, а движки лепили на тех самых инструментах, на которых привыкли программировать и которые не умели все то, что им было нужно.

Конечно все вышесказанное мое личное мнение, навеяное опытом работы с чужими и созданием собственных движков, компонент и библиотек, а может быть я уже просто перестаю быть программистом, раз пишу такие вот возмутительные рассуждения вслух :)

автор
извините конечно, но что такого сделал билл? я про программирование говорю, а не про маркетинг

Вроде как ходили слухи, что Билли написал ДОС. Или это только слухи ? :)
11 мар 04, 07:38    [571499]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
alex_k
Member

Откуда: krasnoyarsk
Сообщений: 6694
слухи ли, нет ли, но посмотреть интересно

цитата оттуда

Cooper Developer of Ruby, Purchased software 1991
Software the foundation for Visual Basic.


вот блин чем купер занимался по молодости,
вижл бейсик писал :-)
11 мар 04, 08:09    [571529]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Quark
Member

Откуда: Екат
Сообщений: 1099
>>Вроде как ходили слухи, что Билли написал ДОС. Или это только слухи ? :)

Читал что вроде он купил ее и DOS от слов Dirty OS - так ее называл тот уже забытый всеми гений)

НУ Билли не в тему вспомнил, а все таки шефа в студию!
11 мар 04, 08:24    [571540]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Билли украл DOS у Digital
11 мар 04, 08:29    [571547]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
tygra
Member

Откуда: Тверь (Иркутск, Край)
Сообщений: 9997
2 ASCRUS

Поддерживаю!
Совершенно не вижу смысла в изобретании велосипеда, причем заведомо худшего и никому ненужного, чем существующие велосипеды. Это называется мания величия - все в детстве программистском таким страдали, некоторые до сих пор не повзрослели.

Нет, я не против изобретений вообще. Я против изобретения того, что уже есть, с заранее известным никому ненужным результатом.

-- Tygra's --
11 мар 04, 11:50    [572081]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4257
2ASCRUS

тем не менее компания SONY даже строчки кода не берет со стороны.

начиная от драйверов и кончая играми
11 мар 04, 18:26    [573570]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
автор
тем не менее компания SONY даже строчки кода не берет со стороны.
начиная от драйверов и кончая играми

Я честно говоря про Sony ничего не знаю, но очень сильно сомневаюсь, что все драйвера и даже игры пишутся у них на собственном языке, собственном компиляторе, собственной IDE, только собственных библиотеках и разработках и т.д. Если это так на самом деле, то я буду крайне удивлен - наверное тогда богатая это компания Sony, раз может позволить себе содержать такой штат людей, работа которых не приносит прямого дохода компании и служит только для обеспечения ПО самой себе. Ну а то, что они в конечном ПО используют свои наработки, так это правильно - крупный поставщик решений не имеет права хоть как то дискредитировать себя, получив на свою голову кучу проблем в виде чужих багов или судебных исков по поводу чужих, как потом оказывается запатентованных уже кем то строчек в коде :)
11 мар 04, 18:44    [573656]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
2 Cat2

Могу подбросить ещё несколько примеров кривизны(приложение разрабатывалось на Delphi, БД - Interbase)

1. Полный отказ от хп
2. Навязчивая идея универсализации и полной независимости приложения от СУБД
3. Текст всех запросов и DML-команд прописывается в клиентском приложении
4. Проверка общих записей в БД осуществлялась при старте приложения и в случае их отсутствия вставка их в БД опять-таки из приложения
5. Полный отказ от представлений и временных таблиц
6. Не использование DBGrid, а использование собственного компонента, являющегося потомком класса TSTringGrid(т.е. после выполнения запроса все данные приходилось ручками перегонять в стринггрид)
7. Меню хранилось не в базе, а в bpl-ах, таким образом проект был разбит на огромную кучу модулей
8. Непонятное использование ООП в приложении к GUI. Пример: грубо говоря есть несколько справочников древовидной формы. Так вот, каждый разработчик справочника делал форму для вывода данных хранящихся в этом справочнике делал отдельную форму. Таким образом получилось штук 15 форм вместо 1-ой.

Ну и плюс полное отсутствие документации на проект...

Все великие дела совершаются в командной строке
12 мар 04, 15:42    [575731]     Ответить | Цитировать Сообщить модератору
 Re: что выбрать  [new]
mv
Member

Откуда:
Сообщений: 8876
...Совершенно не вижу смысла в изобретании велосипеда, причем заведомо худшего и никому ненужного, чем существующие велосипеды.
e.t.c...


Давайте спорить о вкусе устриц с теми, кто их ел (С) Жванецкий


А не могли бы вы вашего шефа к нам на форум позвать. Пусть расскажет вкратце естессно-без выдавания комм. тайны, что же он такое сделал.

Надеюсь, что он не знает, что я сам тут болтаюсь посреди "продвинутого" болтливого сообщества искушенных жизненным опытом программистов.

----------------------------------------
Всем удачи. Не обижайтесь. :)
12 мар 04, 15:58    [575805]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить