Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.01.19;
Скачать: [xml.tar.bz2];

Вниз

DB/2. ацтой или рай?   Найти похожие ветки 

 
Petr   (2013-07-29 00:33) [0]

с т.з. разработчика.
лучше ли Oracle?


 
разработчик   (2013-07-29 06:41) [1]

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


 
Ega23 ©   (2013-07-29 08:00) [2]

Они все одинаково никчёмны.
Только ini-файлы, только хардкор!


 
antonn ©   (2013-07-29 08:07) [3]

я выбрал бы sqlite для встроенной


 
Inovet ©   (2013-07-29 08:13) [4]

> [2] Ega23 ©   (29.07.13 08:00)
> Только ini-файлы, только хардкор!

И Линукс.


 
Кщд   (2013-07-29 15:34) [5]

>разработчик   (29.07.13 06:41) [1]
>с точки зрения разработчика должно быть по барабану какой сервер программировать.
с точки зрения разработчика, сидящего по другую сторону hibernate, - да


 
картман ©   (2013-07-29 16:04) [6]


> Кщд   (29.07.13 15:34) [5]


> по другую сторону hibernate

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


 
разработчик   (2013-07-29 19:19) [7]

с точки зрения разработчика, сидящего по другую сторону hibernate, - да

мне было по барабану на сервер, когда вашего этого хибернейта еще в проекте не было


 
Фокс Йожин   (2013-07-29 20:57) [8]


> DB/2. ацтой или рай?

под Linux/Unix/Windows вполне себе рай. Под z/OS - адъ и израиль, если  до этого мейнфреймы в глаза не видел.


 
Кщд   (2013-07-30 11:25) [9]

>разработчик   (29.07.13 19:19) [7]
>мне было по барабану на сервер, когда вашего этого хибернейта еще в проекте не было
одинаково хорошо пишете под версионники и блокировочники?
виртуозно владеете расширениями SQL любой СУБД?
что ж, остаётся лишь позавидовать Вам - несуществующий разработчик

>картман ©   (29.07.13 16:04) [6]
ORM - он и есть ORM
о плюсах и минусах - статей тьма
напр., http://habrahabr.ru/post/123293/
а "правильно, да с умом" - получается
иногда)


 
Sergey Masloff   (2013-07-30 11:36) [10]

Кщд   (30.07.13 11:25) [9]
>одинаково хорошо пишете под версионники и блокировочники?
>виртуозно владеете расширениями SQL любой СУБД?
>что ж, остаётся лишь позавидовать Вам - несуществующий разработчик
Да ладно несуществующий. На любом SQL можно писать как будто это paradox/dbf
Только всегда ли это хорошо?


 
Пит   (2013-07-30 11:57) [11]


> мне было по барабану на сервер, когда вашего этого хибернейта
> еще в проекте не было

Ты сейчас расписался, что ничего сложного в хранилищах данных не делал.

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

Гораздо проще отталкиваться от БД, чтобы к ней можно было цеплять клиенты на разных языках - хоть дельфи, хоть джаву, хоть веб.

А еще лучше - отталкиваться от сервера приложения, который по HTTP пашет.


 
Кщд   (2013-07-30 12:24) [12]

>Sergey Masloff   (30.07.13 11:36) [10]
>Да ладно несуществующий. На любом SQL можно писать как будто это paradox/dbf
вот так, например, получать новый id?
select max(id) + 1 from some_table

а то, что поддерживаются разные уровни изоляции(при этом весьма условно следующие стандарту ANSI), используются различные стратегии блокирования(товарищи с MS SQL не понаслышке знакомы с таким понятием, как эскалация блокировок), различные подходы по работе с транзакциями и т.д. и т.п. - это всё, конечно, ерунда и глупости

и, собственно, расширения SQL(не процедурные, а именно SQL) - различны
не будем показывать пальцем, но, вот, не было кое-где констуркции "left join", а когда появилась - работала престранно

но, Вы правы, под любую из современных СУБД можно писать, как под десктопную
и под себя ходить можно
ведь можно же?


 
разработчик   (2013-07-30 13:11) [13]

вот так, например, получать новый id?
select max(id) + 1 from some_table


Вы еще скажите, что в случае если двадцать лет писал под FB и никуда кругозор не расширял, то в случае возникновения необходимости ora/mssql/etc надо сразу поднять лапки и сказать: извините, мне надо еще двадцать лет. приходите позже и тогда я буду готов взяться.


 
Кщд   (2013-07-30 13:17) [14]

>разработчик   (30.07.13 13:11) [13]
>Вы еще скажите
откуда мне знать, что Вам говорить и когда поднимать лапки?)


 
Sergey Masloff   (2013-07-30 13:18) [15]

Кщд   (30.07.13 12:24) [12]
>>Да ладно несуществующий. На любом SQL можно писать как будто это paradox/dbf
>вот так, например, получать новый id?
Ты уловил мысль ;-)

Я регулярно пересекаюсь с людьми которые считают что именно так писать и нужно. Причем умудряются делать работоспособные системы, что лично меня удивляет.


 
разработчик   (2013-07-30 13:20) [16]

Сколько раз я видел попытки написать типа универсальную систему, которая будет уметь работать сразу с несколькими БД.

Ты просто не видел моей реализации.
В ней поддерживается : ora/mssql/mysql/fb/msaccess
Причем сразу скажу, что это не то что ты подумал.

Никаких самоограничений средствами которые "гарантированно работают везде" при использовании универсальных механизмов типа bde/ado/odbc

То есть в наличии полный доступ ко всем специфичным фичам любой платформы.


 
разработчик   (2013-07-30 13:21) [17]

откуда мне знать, что Вам говорить и когда поднимать лапки?)

Зато мне сразу видно невооруженным глазом что имелось ввиду.


 
разработчик   (2013-07-30 13:24) [18]

и т.д. и т.п. - это всё, конечно, ерунда и глупости


Ну так. И какой вывод-то?

Никто не умеет писать и под оракл и под MSSQL одновременно?
Так что ли?

Или это просто завуалированное высказывание типа "мало кто знает про это лучше меня"?


 
Кщд   (2013-07-30 13:24) [19]

>Sergey Masloff   (30.07.13 13:18) [15]
>Причем умудряются делать работоспособные системы, что лично меня удивляет.
работоспособные однопользовательские системы
не спорю


 
разработчик   (2013-07-30 13:25) [20]

работоспособные однопользовательские системы
не спорю


А у меня мультиплеер. Обидно да?

Предваряя следующую реплику, говорю:

работает не только у младшей сестры на ноуте.


 
Inovet ©   (2013-07-30 13:31) [21]

> [20] разработчик   (30.07.13 13:25)
> А у меня мультиплеер

Проигрыватель мультиков7

> [20] разработчик   (30.07.13 13:25)
> работает не только у младшей сестры на ноуте.

Ну мультики и взрослые бывают.


 
Кщд   (2013-07-30 13:31) [22]

>разработчик   (30.07.13 13:24) [18]
>Ну так. И какой вывод-то?
вывод очевиден: если Вам "было по барабану на сервер", то либо Вы не работали с БД(как справедливо было отмечено - с DWH, OLAP), либо всё плохо. очень-очень плохо.

>Или это просто завуалированное высказывание типа "мало кто знает про это лучше меня"?
это уже вторая попытка вложить в мои уста Ваши мысли
приёмчик в споре старый настолько же, насколько заметный и нелепый)


 
разработчик   (2013-07-30 13:32) [23]

это называется включить дурачка, когда сказать больше нечего.


 
разработчик   (2013-07-30 13:35) [24]

если Вам "было по барабану на сервер

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


 
разработчик   (2013-07-30 13:36) [25]

приёмчик в споре старый настолько же, насколько заметный и нелепый)

В общем я угадал.
да еще и с учетом первого абзаца из [22] на все 146 процентов.


 
разработчик   (2013-07-30 13:39) [26]

это уже вторая попытка вложить в мои уста Ваши мысли

Так вы прямым текстом выразите свою мысль, которая что-то все витает да витает в воздухе.
И не оставляйте мне шансов на неправильную интерпретацию.

Скажите прямым текстом:
Тот, кто хорошо пишет для ora, не может так же хорошо писать для mssql.

И все.
А то все многозначительно жметесь только.


 
Sergey Masloff   (2013-07-30 14:05) [27]

разработчик   (30.07.13 13:39) [26]
>Скажите прямым текстом:
>Тот, кто хорошо пишет для ora, не может так же хорошо писать для mssql.
Можно я попробую сказать. Я согласен с вышеприведенной формулировкой. "Приемлемо" может. "Хорошо" - врядли. Для двух систем - допущу даже "хорошо" для более - я такого не встречал.

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


 
разработчик   (2013-07-30 14:22) [28]

нет никаких трансляций. понимаешь?
просто нет.
нет трансляторов и нет трансляций.
написано руками.
пять проектов.
99.999% кода - общий.

Разные:
1. дпр только юзезом модуля данных отличаються.
2. разные потомки абстрактного модуля данных. отличаются перекрытыми методами в количестве меньшем двадцати.

Все остальное общее.
Весь бизнес код ничего не знает про ни про сервер ни про движок. Он оперирует виртуальными методами "дай мне датасет для грида", "выполни вот такой dml", etc.

Так как методов всего ничего (<20), то например создание версии под мускул заняло полтора часа неспешной работы, в ходе которой был адаптирован ддл скрипт и переопределены методы наследника датамодуля.

а вся бизнес логика нетронута и отлажена давно.

При этом проекты не ограничены узкими рамками одбс и ему подобных технологий, а юзают нативные фичи настолько полно, насколько это надо или насколько этого хочется.

ora->odac
mssql,access->ado
mysql->mysqldac
fb->fib

И если вдруг завтра мне потребуется версия для db2, она у меня будет так же быстро (через полтора часа) и не в первой бете, а сразу в релизе.

Потому что перекрыть 15-20 абстрактных, служебных методов без необходимости влезать в бизнес слой - дело пары часов.

Впрочем у нас все равно остается тема для холивара.
Что такое "писать хорошо", и что такое "писать приемлемо".
Где пролегает грань, и что делать и что будет если ты (о ужас!) пишешь всего лишь "приемлемо" (и пофик что ты один закрыл огромный кусок бизнеса для своей конторы и она лет 20 не знает что такое проблемы в этой области)


 
sniknik ©   (2013-07-30 14:26) [29]

> Причем умудряются делать работоспособные системы, что лично меня удивляет.
не всегда нужен мерседес чтобы съездить за хлебом... чаще достаточно велика, или просто ног.
но мечтать о мерседесе "для всего" не вредно. при разработке такие "мечты" обычно превентивные, т.е. сначала хотят "чтобы все, и максимально надежно, т.к. будет миллион юзеров",  а потом с программой работает "полторы секретарши в две смены" и даже выбранного "дубового способа, нифига не безопасного(теоретически, вот посчитайте вероятность...) хотя бы для 2х одновременно" вполне хватает (а иногда и 10ти и более везет, а раз в пару лет случающиеся "косячки" считают за форс мажор, но в общем-то система работает...).


 
Кщд   (2013-07-30 14:41) [30]

>разработчик   (30.07.13 13:35) [24]
>И до сих пор по барабану, так как все созданное работает
так проясните некоторые моменты Вашей сверхсистемы.
Например:
1. Какого типа Ваша система(OLTP, OLAP, DWH);
2. Как происходит кроссплатформенная генерация ID(sequence, autoincrement, генераторы и т.п.);
3. Какие блокировки(оптимистические, пессимистические, гибрид? и как конкретно) используются. Другими словами как избегаете проблем с, например, фантомными чтениями, конкурентным доступом;
4. Имеются ли ограничения ссылочной целостности на уровне БД;
5. Существуют ли в Вашей системе долгоиграющие отчеты и каким образом решаются проблемы с блокировкой/устареванием данных, по которым они работают.


 
sniknik ©   (2013-07-30 14:42) [31]

> При этом проекты не ограничены узкими рамками одбс и ему подобных технологий, а юзают нативные фичи настолько полно, насколько это надо или насколько этого хочется.
mssql с "найтивной виндовой аутентификацией"/разделением прав "тянущихся" из винды, "открытые" рекордсеты для импорта из разных форматов, перекрестные между базами запросы, внешние "сношения" с миром типа выполнения shell комманд, почты в процедурах, полнотекстовый поиск и т.д.
а как это реализовано в access например (долго с ним работаю и часто не хватает возможностей mssql, часть перечисленного есть, но не все... научи)? а в базах mysql, fb ???

p.s. считаешь что ограничений нет, а самом деле работаешь на начальном уровне... не спорю, может там не нужно, но это не значит что "проекты не ограничены", ограничены, тем самым, задача/программа не требует "технологий".


 
разработчик   (2013-07-30 14:43) [32]

(а иногда и 10ти и более везет, а раз в пару лет случающиеся "косячки" считают за форс мажор, но в общем-то система работает...).

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

Да?

Или у вас лично форсмажоры - раз в пятилетку?


 
разработчик   (2013-07-30 14:45) [33]

mssql с "найтивной виндовой аутентификацией"/разделением прав "тянущихся" из винды,

нет.
Хотя ничто не мешает.
Заменяй строку подключения и уговаривай админов нарезать права.
И будет под виндовой.
не будет?


 
разработчик   (2013-07-30 14:46) [34]

так проясните некоторые моменты Вашей сверхсистемы.
Например:


Сначала [26], а потом продолжим.


 
Кщд   (2013-07-30 14:50) [35]

>разработчик   (30.07.13 14:46) [34]
в первом посте в этой ветке ясно и чётко сказал: разработчик, пишущий одинаково хорошо под db2, firebird, oracle, ms sql, не существует
недостаточно прямолинейно?

если быть объективным, то лично мне такие, увы, не встречались
Вы - первый
таки теперь можно узнать секрет Вашего феномена, ответив на "Кщд   (30.07.13 14:41) [30]"?)


 
разработчик   (2013-07-30 14:52) [36]

p.s. считаешь что ограничений нет, а самом деле работаешь на начальном уровне..

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

Про этого рода ограничения и шла речь.
И при этом использование их не влечет за собой обычного в таких случаях лавинообразного роста подпорок в проекте.


 
разработчик   (2013-07-30 14:58) [37]

1 олтп
2 так и происходит. через сиквансы генераторы и автоинкремент.
4. естественно имеются (не понял почему вообще возник вопрос)
5. имеются. блокировок нет, так отчеты генерируются не в клиентской программе, и вообще передаются на клиента не в виде датасетов.


 
Кщд   (2013-07-30 15:14) [38]

>разработчик   (30.07.13 14:58) [37]
1) ок, но что с (3)?
2) кто и как генерирует код создания и генерации?
4) только PK, FK, UQ или что-то ещё? более платформо-зависимое?
5) отчеты строятся на данных, хранящихся в базе. на записях(таблицах) могут быть блокировки. такие проблемы в MS SQL, например, в 2000 обходятся dirty read. проблемы в Oracle, например, могут привести к snapshot too old. Как поступает Ваша система и известны ли Вам эти проблемы?

Далее:
6) В случае с Oracle, каким образом ведётся работа с курсорами: кто следит за их количеством, кто и как их закрывает?


 
Кщд   (2013-07-30 15:16) [39]

7) с какими уровнями изоляции работает Ваша система, кроме read committed или аналогов?


 
sniknik ©   (2013-07-30 15:16) [40]

> Или у вас лично форсмажоры - раз в пятилетку?
реже.
но вообще это было пояснение на пост Sergey Masloff   (30.07.13 13:18) [15] типа "ничего удивительного даже при явной безграмотности". не про меня лично. одни безграмотно хотят мерседес, хотя могут обойтись велосипедом, другие делают мопед думая что делают мерседес... чего удивляться если даже так работает?

> Хотя ничто не мешает.
мешает, к примеру в access нет процедур, в нормальном понятии. нет 6-го уровня транзакций, логика автоинкремента вынесена в объект, мыла/shell нет, ну и т.д. и собственно нет возможности "нарезать права" на то чего нет...



Страницы: 1 2 3 4 5 6 7 вся ветка

Форум: "Прочее";
Текущий архив: 2014.01.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.57 MB
Время: 0.005 c
4-1267675438
Алексей4105
2010-03-04 07:03
2014.01.19
Как узнать путь к процессу?


15-1375216205
Юрий
2013-07-31 00:30
2014.01.19
С днем рождения ! 31 июля 2013 среда


15-1375116479
Dennis I. Komarov
2013-07-29 20:47
2014.01.19
Access 2010 (accdb) and MS Jet 4.0


1-1320565646
Remad
2011-11-06 10:47
2014.01.19
GETMEM.INC


15-1375272074
Юрий Зотов
2013-07-31 16:01
2014.01.19
Забавно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский