metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-08-23 12:50 pm

Адъ баз данных

Софт1: написан почти целиком мной, заказной: 186 таблиц, 169 хранимых процедур
Софт2: написан мной и ребе белнетмоном, коробочный: 74 таблицы, 40 хранимых процедур

(Anonymous) 2010-08-23 01:09 pm (UTC)(link)
Соответственно, при добавлении еще одного рэбе количество таблиц и процедур еще более сократится?

[identity profile] metaclass.livejournal.com 2010-08-23 01:29 pm (UTC)(link)
Сложный вопрос. Возможно, увеличится, т.к. у каждого ребе будет свой кодогенератор, создающий over 9000 таблиц, вьюшек и хранимых процедур за один вызов :)

[identity profile] bigfrogg.livejournal.com 2010-08-23 01:21 pm (UTC)(link)
>>Софт2: написан мной и ребе белнетмоном, коробочный: 74 таблицы, 40 хранимых процедур

Из которых ребе метакласс написал 90 таблиц и 62 хранимые процедуры :)

[identity profile] metaclass.livejournal.com 2010-08-23 01:30 pm (UTC)(link)
Не, у нас разделение труда другое - ребе белнетмон пишет код, а я потом код удаляю :)
Я не умею писать код, а ребе религия запрещает его удалять.

[identity profile] nivanych.livejournal.com 2010-08-24 06:29 am (UTC)(link)
Почему-то, вспоминается анекдот про то, как физический факультет просил денег на оборудование, ректор на них ругался, что денег много на них уходит, и сказал, что вот какие математики замечательные, дал стопку бумаги, карандаш с ластиком, и всё.
А задумавшись, изрёк - "А философы ещё лучше, им и ластика не надо!"

[identity profile] zelanton.livejournal.com 2010-08-23 01:44 pm (UTC)(link)
Ребе, мы в вас верим, число таблиц и процедур непременно превысит цифру 1000!

[identity profile] metaclass.livejournal.com 2010-08-23 01:46 pm (UTC)(link)
Не, я столько даже в модели для кодогенератора заполнять задолбусь. Не говоря уже о том, что клиенты столько сущностей не придумают. А если придумают - то все равно там большая часть сведется к одной таблице типа "Documents(ID,blob)" :)

Адъ баз данных

[identity profile] komarov.livejournal.com 2010-08-23 02:13 pm (UTC)(link)
НАХЕРА СТОЛЬКО?!?!?!

Re: Адъ баз данных

[identity profile] metaclass.livejournal.com 2010-08-23 02:14 pm (UTC)(link)
"Так получилось".

Re: Адъ баз данных

[identity profile] dmzlj.livejournal.com 2010-08-23 02:38 pm (UTC)(link)
действительно. доказано ведь, что для каждой задачи заведомо достаточно трех таблиц.

Re: Адъ баз данных

[identity profile] metaclass.livejournal.com 2010-08-23 02:39 pm (UTC)(link)
Entities,Attributes,Values?

одна

[identity profile] sa-chernomor.livejournal.com - 2010-08-23 14:54 (UTC) - Expand

Re: одна

[identity profile] dmzlj.livejournal.com - 2010-08-23 15:46 (UTC) - Expand

Re: одна

[identity profile] volodymir-k.livejournal.com - 2010-08-23 16:03 (UTC) - Expand

[identity profile] ilya-portnov.livejournal.com 2010-08-23 04:05 pm (UTC)(link)
В нашей софтине есть такая специальная концепция, 'публикация отчётов'. Типа, кнопочки для вызова разных отчётов должны появляться в разных местах, и это должно очень гибко конфигуряться. Для этого наворочен десяток сущностей с замысловатыми отношениями. Когда я спросил товарища, который формально за это в команде отвечает, нафига так сложно, ответ был: 'я три раза вносил предложения сделать проще. Предложения приняли, но в итоге каждый раз становилось сложнее'.

[identity profile] plumqqz.livejournal.com 2010-08-23 04:36 pm (UTC)(link)
Э... А где потрясаться.

PS Что-то процедур маловато. На клиента логику тянете, лодыри...

[identity profile] metaclass.livejournal.com 2010-08-23 04:45 pm (UTC)(link)
Логика в базе очень сильно усложняет обновление - в Firebird нет механизма "поменить зависимые объекты как инвалидные и перекомпилировать". Только дропать все дерево зависимостей начиная с листьев, менять объект и создавать зависимые заново.
Ну и, при всей моей невменяемости - я СТОЛЬКО бизнес-логики в хранимых процедурах не напишу - отладки нет, курсоров кошерных нет, типов нормальных нет, временные таблицы использовать не получается - отчетные транзакции "только для чтения", а если их сделать пишущими - забытый юзерами отчет начинает мешать сборке мусора, и прочая, и прочая.
В общем, при всех достоинствах FB писать серверную логику на нем сложно.

[identity profile] fraks-nsk.livejournal.com 2010-08-27 07:49 am (UTC)(link)
>>отладки нет
есть в IBExpert. Однако я в основном пользуюсь аналогом showmessage только в таблицу лога.

>>курсоров кошерных нет
for select, а сейчас еще появились такие чудные штуки как select from select и execute block

>>типов нормальных нет,
нормальных - это каких?

>>временные таблицы использовать не получается - отчетные транзакции "только для чтения",
>>а если их сделать пишущими - забытый юзерами отчет начинает мешать сборке мусора,
после появления перечисленного в предыдущем пункте надобность в temp table у меня как-то отпала, но таблица времени транзакции мне казалось что должна позволять писать и в RO транзакции..

Перекомпиляция всех процедур - есть такая функция в IBExpert.
Менять тип поля иногда да, бывает сложно...

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 08:41 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 09:00 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 09:04 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 09:09 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 09:24 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 09:26 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 09:09 (UTC) - Expand

[identity profile] dair-spb.livejournal.com 2010-08-23 05:27 pm (UTC)(link)
А чо сразу на клиента? Application Server Layer отменили?

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-23 17:32 (UTC) - Expand

(no subject)

[identity profile] dair-spb.livejournal.com - 2010-08-23 17:35 (UTC) - Expand

(no subject)

[identity profile] plumqqz.livejournal.com - 2010-08-23 17:42 (UTC) - Expand

(no subject)

[identity profile] dair-spb.livejournal.com - 2010-08-23 17:44 (UTC) - Expand

(no subject)

[identity profile] dair-spb.livejournal.com - 2010-08-23 18:13 (UTC) - Expand

(no subject)

[identity profile] plumqqz.livejournal.com - 2010-08-23 18:15 (UTC) - Expand

(no subject)

[identity profile] dair-spb.livejournal.com - 2010-08-23 18:16 (UTC) - Expand

(no subject)

[identity profile] plumqqz.livejournal.com - 2010-08-23 18:20 (UTC) - Expand

(no subject)

[identity profile] dair-spb.livejournal.com - 2010-08-23 18:21 (UTC) - Expand

(no subject)

[identity profile] golosptic.livejournal.com - 2010-08-23 21:01 (UTC) - Expand

(no subject)

[identity profile] plumqqz.livejournal.com - 2010-08-23 21:27 (UTC) - Expand

[identity profile] tretiy3.livejournal.com 2010-08-23 09:23 pm (UTC)(link)
а объясните, пожалуйста, дураку, зачем вообще они нужны, процедуры те? не догоню никак. один хрен будет какая-то логика в приложении. ну и пусть бы там все крутилось, в этом слое. по вашим же постулатам: данные - это данные. утвердят завтра галиматью какую-нить в третьем чтении, либо дядя погрозит пальчиком - высылаешь патчик людям. один файлик меняется на другой. хранимки же, сильно усложняют этот процесс. не так разве?

(no subject)

[identity profile] plumqqz.livejournal.com - 2010-08-23 21:28 (UTC) - Expand

(no subject)

[identity profile] tretiy3.livejournal.com - 2010-08-23 21:47 (UTC) - Expand

(no subject)

[identity profile] plumqqz.livejournal.com - 2010-08-23 22:06 (UTC) - Expand

(no subject)

[identity profile] tretiy3.livejournal.com - 2010-08-23 22:16 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 08:39 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 08:48 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 09:12 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 09:14 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 09:27 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 09:42 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 10:04 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 10:10 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-27 10:13 (UTC) - Expand

(no subject)

[identity profile] fraks-nsk.livejournal.com - 2010-08-27 08:42 (UTC) - Expand

[identity profile] nekhill.livejournal.com 2010-08-23 04:59 pm (UTC)(link)
Софт3: писался 5 лет, потом год доделывается нами. 120 таблиц, over 1000 хранимых процедур. Очень хотим извести количество хранимых процедур до около 400 (CRUD), но не получится, ибо местами очень дофига данных в таблицах, и нужно ускорять :)

[identity profile] vp.livejournal.com 2010-08-23 05:19 pm (UTC)(link)
1000? А в каком стиле хранимые процедуры? Может толпа чего-то мелкого?

(no subject)

[identity profile] nekhill.livejournal.com - 2010-08-23 17:24 (UTC) - Expand

(no subject)

[identity profile] nekhill.livejournal.com - 2010-08-23 17:27 (UTC) - Expand

[identity profile] metaclass.livejournal.com 2010-08-23 05:21 pm (UTC)(link)
Ускорять в плане - обработку делать на сервере, поближе к данным?

(no subject)

[identity profile] nekhill.livejournal.com - 2010-08-23 17:25 (UTC) - Expand

[identity profile] slavae.livejournal.com 2010-08-24 04:20 am (UTC)(link)
У нас в прошлой рабочей бд на FB 388 таблиц, 939 процедур. Ну и 683 триггера.
В текущей рабочей на оракле 3622 таблицы, 2990 вьюх, 297 процедур и 716 функций. Правда большая часть таблиц пустая )

[identity profile] metaclass.livejournal.com 2010-08-24 07:11 am (UTC)(link)
Сколько человек это пишет? :)

(no subject)

[identity profile] slavae.livejournal.com - 2010-08-24 07:21 (UTC) - Expand

[identity profile] fraks-nsk.livejournal.com 2010-08-27 09:16 am (UTC)(link)
В моем софте (склад)
таблиц - 39
процедур - 99
триггеров - 58

[identity profile] captain-hell.livejournal.com 2010-08-30 02:01 pm (UTC)(link)
SAP R/3 после настроек и прочей хрени.

39800 таблиц.
0 хранимок.

[identity profile] metaclass.livejournal.com 2010-08-30 03:58 pm (UTC)(link)
"Дайте мне распечатку схемы этой херниБД, я буду на нее мастурбировать долгими зимними вечерами!"

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-30 16:28 (UTC) - Expand

(no subject)

[identity profile] metaclass.livejournal.com - 2010-08-30 16:38 (UTC) - Expand