|
|
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа специалисты в базах данных, теоретики и практики! Очень интересует ваше мнение о строении БД, особенности которой описаны вот здесь Эта база используется в фреймворке, который был разработан для решения учетных задач (бухгалтерия). Внедрений у нее совсем не много, около пары сотен. Но они есть и исправно работают уже много лет. При этом наиболее крупное внедрение - это завод численностью около 2000 человек. Штат бухгалтеров (и, соответственно кол-во рабочих мест во внедренном комплексе) - 30. При этом сие чудо показывает чудеса производительности именно прикладных задач, а именно: рассчет зарплаты на всю эту толпу в 2000 человек - 2 минуты, оборотная ведомость за год - тоже около 2-х минут. Это самые тяжелые рассчеты. Остальное просто незаметны. При том что остальные бухгалтера продолжают работать и никакой просадки в производительности на себе не ощущают. Те, кто работал с тем же самым 1C могут поделиться своими впечатлениями о работе системы с таким кол-вом пользователей и времени рассчета зарплаты с таким кол-вом человек. Возникают вопросы: как и почему? Я провела интервью с разработчиками комплекса и получила информацию о строении БД, которая собственно в статье и описана. Хотелось бы узнать мнение специалистов, особенно тех, кто занимался разработкой или работал с учетными системами с одной стороны, и тех, кто глубоко знает теорию БД и обладает хорошими именно практическими навыками. Как вам вообще такой подход? Есть в нем что-то или как? Со своей стороны - я постараюсь узнавать у разработчиков и отвечать на любые возникшие вопросы, если в чем-то потребуется детализация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 01:15 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемя постараюсь узнавать у разработчиков и отвечать на любые возникшие вопросы Первый вопрос: каким боком этот топик относится к сравнению СУБД ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 01:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, не серьезно. десяток клиентов с парой десятков tps вырубит этот "репликатор" гарантированно. в середине 80х индустрия постепенно начала уходить от загрузки клиента и нафигационных языков, перенося нагрузку на сервер и делая ставку на декларативные языки запросов. боюсь концепция этого изделия устарела лет на 25 и оно сильно уступит фокспро начала 90х на многопользовательских нагрузках ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 01:48 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, В основном потому что в этом топике обсуждаются совершенно разные базы. И еще потому что предлагается сравнить сие творение с другими СУБД, но не конкретными наименованиями, а скорее, классами баз. Я пытаюсь плюсы/минусы понять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:02 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
я бы от решения в тынце держался бы как можно дальше. даже не так каааак моооооожно даааааальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!, Но вы ведь имеем факт: 30 машин для бухгалтерского прикладного ПО в сети, все это прекрасно себе живет и умирать совершенно не собирается. Я с вами согласна в контексте того, что если туда к примеру несколько сотен клиентов посадить, оно наверно захлебнется. Я как раз хочу найти возможность провести эксперимент именно на эту тему - посмотреть какое максимальное кол-во одновременных пользователей такая штука сможет выдержать. Второй момент, касается задач, на которые ориентирована СУБД. Сейчас в мире приходит понимание того, что классический реляционный подход не всегда идет на пользу решаемых задач, посему начали придумывать всяческие отхождения от стандарта: in-memory, с поколоночным хранением, вообще объектно-ориентированные. Раз они существуют, значит это кому-нибудь нужно? Здесь то же самое. Эта базка конечно во многом слабее, чем классический клиент-сервер. Но есть ощущение, что она гибче, и легче позволяет решать некоторые задачи. В основном учетные: когда у вас не много пользователей (30 бухгалтеров - это и правда много) и при этом довольно много всевозможных сложных рассчетов. А структуры данных приходится строить такие, что черт ногу сломит. Вот где-то здесь она и начинает играть, по моим ощущениям. К примеру, насколько я понимаю ситуацию, за счет того, что у них нет жесткого описания структуры атрибутов в таблице, они создают одну таблицу, к примеру, для каталога товаров, и пихают в нее все что только душе заблогарассудится: колбаса, значит колбаса, автомобиль, значит автомобиль. И никих вам EAV и наследуемых таблиц... В итоге, максимальное кол-во таблиц которое им приходилось решать для конкретной учетной задачи - 200. Обычно гораздо меньше. В других подобных системах, как я понимаю, они считаются тысячами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
locky, А можно аргументированно? Хотя бы ключевые пункты? Мне действительно важно это понимать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:22 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся _мнениемlocky, А можно аргументированно? Хотя бы ключевые пункты? Мне действительно важно это понимать. У того же файрбёрда - сотни тысяч юзеров. читай - сотни тысяч тестеров. читай - сотни тысяч спецов (того или иного уровня), которых, потенциально, можно нанять для разработки/сопровождения. А брать "наколенное поделие" (пусть даже и интересное с т.з. внутренних идей) и строить на его основе систему... нафиг надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:24 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
locky, Это довольно очевидный аргумент :) Понятно что дыр в ней потенциально должно быть больше, чем у других СУБД именно по тем причинам, которые вы описали. Но я сейчас не рассматриваю возможность построения системы на ней, - я пытаюсь понять перспективность такого подхода к организации хранения и обработки данных в принципе. Может я ее развивать хочу :) ну или не я :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:30 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
если найдёте какого-нито "жирного" ускоспециализированного заказчика, которому нужна будет совершенно своя, уникальная, сильно-сильно под конкретного него заточенная системка - то это, м.б., будет перспективно хотя вот лично меня крайне смущает "write-only" система, которая только дописывает, а не удаляет/изменяет. что-то тут не так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:34 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, бухгалтерия - не показатель. эти 30 бухгалтеров мурыжат свой кусочек не пересекаясь с другими и делают запросы на "закрытый" период. плюс бухгалтера не фигачат по 10 tps. десяток клиентов на задачке tpc-e просто получат 90% отмененных транзакций. концепция гнилая совершенно. всякие альтернативы SQL появились на волне моды на ООП и уже практически все загнулись. если они загнулись то скорее потому, что реально никому не нужны. в SQL базах сейчас есть тип XML, который избавит "жесткого описания структуры атрибутов", но при этом предоставляет декларативный язык запросов к этому делу. реально же oracle xmldb даже в бесплатной версии будет на порядок более разумно использовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
кстати, есть вопрос. если "централь" рассылает в широковещательном режиме, как она убеждается, что все клиенты получили обновление ? в сети может быть кратковременный сбой и некоторые клиенты могут не получить обновление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 02:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Непонятно, зачем это творение вообще называть СУБД? Очередная бесконечно унылая вариация на тему "массив данных в памяти, сериализованный на жесткий диск". С прикрученными сбоку бродкастовыми нотификациями и какими-то псевдо-серверными "фонами". От того, что выбран нестандартный способ сериализации (стрим на толькозапись) - особо ничего не меняется. То, что подаётся как архитектурные особенности и плюсы - вызывает тихое шевеление волос на голове. В базе хранится вся история, от ишачьей пасхи до сегодняшнего дня. Вся эта база в полном объёме находится у всех клиентов. Все клиенты на каждый чих и пук бродкастят уведомления. И наверное как-то их обрабатывают. Для всего набора данных. Все изменения. Нужно, не нужно, пофигу. База данных на клиенте вся, изменения бродкастятся все, радуйся клиент, гуляй рванина. Оно же очевидно невменяемо себя поведёт при больших нагрузках на запись. Просто по своей архитектуре. Зачем, спрашивается, было огород городить с потоковой записью, оправдывая это тем, что "произвольный доступ на запись в больших массивах информации существенно медленнее потоковой записи" , если с интенсивной записью оно всё равно не справится? Ей богу, уж лучше взять обычное файл-серверное нечто. Фокспро. Аксес. На обычном файл-серверном нечте сваять этот несчастный расчёт зарплаты. Для тридцати пользователей, обрабатывающих по чуть-чуть данных аж о двух тысячах каких-то там зарплат - оно будет летать ничуть не хуже. Даже на де-факто умершем файл-серверном нечте. Хотя обратно непонятно, чего бы не сделать и на любой нормальной СУБД. Коих как грязи. То, что жопорукие адынэсовцы сумели сделать долго и медленно - это ещё не повод, чтоб вот такое вот изобретать. BTW, для таких нагрузок и экселя хватило бы :) Прикрутить к нему только многопользователя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 03:31 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!кстати, есть вопрос. если "централь" рассылает в широковещательном режиме, как она убеждается, что все клиенты получили обновление ? в сети может быть кратковременный сбой и некоторые клиенты могут не получить обновление. Этот вопрос очень, очень интересен. Особенно в свете декларируемого "в случае потери сервера, сервером можно объявить любую из рабочих станций" как это вообще - "потеря сервера"? шел по улице, никого не трогал, пиво пил, и тут - ВНЕЗАПНО - сервер где-то потерял... бида, бида, огорчение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 03:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, "Изюминка" этой системы в том, что когда вы добавляете или меняете запись, то служба "Фон" тут же пересчитывает всякие там суммы и сохраняет так же их. Т.е. фактически почти все агрегаты, которые в последствии понадобятся для злых отчетов/расчетов готовятся в процессе ввода данных. Вы думаете, что аналогичный подход никому раньше в голову не приходил и не реализован? ;) Это можно реализовать триггерами в любой БД, если захочется. Можно же использовать отдельный сервис, автоматизирующий агрегацию данных и дающий гораздо больше возможностей и гибкости. Как тот же Microsoft Analisys. Так что, как обычно, ничего нового. Какая-то одна идея, кому-то понадобившаяся (потоковое хранение всей когда-либо введенной информации) дала старт системе. Все остальное в системе новшествами не пахнет, просто иначе называется. а по поводу факта, что у них годовой отчет за 2 минуты, а у других гораздо больше - так проблема в том, что другим жалко денег внедрить realtime-агрегацию и получить, возможно, еще более быстрые результаты. Суть то в чем? Сервер работает целый день. Нагружен он все время не на 100%. Можно же ему поручить при изменении данных в БД пересчитывать всяки суммы? Можно. В итоге когда кому-то понадобится отчет - суммы уже готовы. Это просто, чтобы догадаться до этого еще в прошлом веке. Но не всегда используется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 03:59 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПри этом сие чудо показывает чудеса производительности В общем не показывает. Т.е. 1С может и делает своей ужасностью эту поделку чудом. Но есть ведь мир без 1С ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 04:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением(30 бухгалтеров - это и правда много) Не льстите себе. 30 бухгалтеров чисто технически могут создать только исчезающе малую нагрузку. Просто потому, что имеют привычку набирать буквы одним пальцем. То, что 1С не справляется даже с такой малой нагрузкой, это её недостаток, а то, что Ваша система справляется - может считаться достоинством только на фоне той же 1С. ЗЫ: В кои-то веки я согласен с Ё... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 12:13 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПYo.!кстати, есть вопрос. если "централь" рассылает в широковещательном режиме, как она убеждается, что все клиенты получили обновление ? в сети может быть кратковременный сбой и некоторые клиенты могут не получить обновление. Этот вопрос очень, очень интересен. Особенно в свете декларируемого "в случае потери сервера, сервером можно объявить любую из рабочих станций" как это вообще - "потеря сервера"? шел по улице, никого не трогал, пиво пил, и тут - ВНЕЗАПНО - сервер где-то потерял... бида, бида, огорчение... По номеру транзакции. Если станция получила обновление с пропуском, она запрашивает у сервера недостающее и тогда он уже ей персонально пересылает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 12:14 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПкак это вообще - "потеря сервера"? Здесь имеется в виду - вышел из строя. Сгорел например, или что-то еще такое произошло... Тогда просто выбирается какая-нибудь станция (ручками, не автоматом) и у нее взводится флажек, - что она теперь сервер. И можно жить дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 12:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Как уже верно сказали, ничего революционно нового в таком подходе нет. Все элементы, в каком-то виде, использовались или используются в системах доступа к данным. По поводу формата хранения, и разруливания блокировок, эту систему можно назвать "версионник, возведенный в абсолют", со всеми достоинствами и недостатками. По поводу аргумента "все работает". Вообще, задача хранения и доступа к данным решается уже давно, начиная от файл-серверных систем, они тоже до сих пор "успешно работают" в некоторых местах, где требования к задачам не меняются десятки лет. Но практика показала, что чаще всего требования эти растут. И проблемой является именно задача расширения систем "в разы". Поэтому и придумали SQL-сервера - они масштабируются легче, позволяют накрыть более широкий диапазон задач - от быстрого (ну, в разумных пределах :) сбора телеметрии, до огромных неторопливых хранилищ аналитики. Конечно, если бы под каждый род задач разрабатывалась особая, "заточенная" СУБД, возможно, она в каких-то моментах оказалась бы выигрышнее, чему универсальные. Но это очень дорогой и ненадежный путь. Это академик Глушков пытался разрабатывать свою ЭВМ для каждого рода таких задач (причем, начиная от своего процессора и архитектуры) - где они теперь? Поэтому отношение к "заточенным поделкам" у всех традиционно осторожное. Поэтому, я бы предположил, что в таком неторопливом режиме, на 30 бухгалтеров, можно было бы сделать систему практически на любой платформе. Аналогичные задачи - вариантную структуру записей, и т.д. - решить другими, но вполне работоспособными способами. А если те же усилия, что пошли на разработку своей системы, пустить на оптимизацию системы на SQL - результат был бы ничуть не хуже, а, уверен, лучше, и главное - перспективнее. Вообще, я бы посоветовал, сейчас не прикручивать к этому делу SQL, а срочно перевести этот фреймворк (за который авторам честь и хвала), на работу с нормальным SQL - сервером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 12:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПВ базе хранится вся история, от ишачьей пасхи до сегодняшнего дня. Вся эта база в полном объёме находится у всех клиентов. На самом деле, не совсем так. У них там есть механизм - называется компрессирование. Он как раз и предназначен для того, чтобы "схлопнуть" историю. Я так понимаю, что время от времени они этим пользуются. У всех клиентов хранится - да. Но объемы-то смешные получаются. Прирост на самых больших внедрениях около 200MB в год... Кстати тоже не понимаю за счет чего. По идее - при полной записи истории она пухнуть должна быстрее, но этого не происходит. .ЛПВсе клиенты на каждый чих и пук бродкастят уведомления. И наверное как-то их обрабатывают. Для всего набора данных. Все изменения. Нужно, не нужно, пофигу. Не клиент бродкастит, а сервер. Клиент передает данные на сервер уже не бродкастом а конкретно ему. И не на каждый чих. Данные передаются только об изменениях. А что вы имеете в виду под "нужно, не нужно, пофигу?" .ЛПОно же очевидно невменяемо себя поведёт при больших нагрузках на запись. Просто по своей архитектуре. Зачем, спрашивается, было огород городить с потоковой записью, оправдывая это тем, что "произвольный доступ на запись в больших массивах информации существенно медленнее потоковой записи" , если с интенсивной записью оно всё равно не справится? Ммм.. да. Скорее всего. Так и не позиционируется это для больших нагрузок на запись. .ЛПЕй богу, уж лучше взять обычное файл-серверное нечто. Фокспро. Аксес. У Аксес я так понимаю все-таки проблемы с многопользовательностью? Или нет? .ЛПНа обычном файл-серверном нечте сваять этот несчастный расчёт зарплаты. Для тридцати пользователей, обрабатывающих по чуть-чуть данных аж о двух тысячах каких-то там зарплат - оно будет летать ничуть не хуже. Эххх... узнать бы у кого кто на этом самом файл-серверном нечте уже нечто такое сваял и сравнить результаты... :) Это и правда интересно. Кстати фреймворк в целом у меня вызывает ощущение чего-то похожего на Access именно, интерфейс только более топорный, но это поправимо имхо. А так, - тоже рисуются таблички и формочки для ввода + встроенный язык для обработки. По словам разработчиков очень развитый, поддерживающий ООП в полном объеме, и еще много чего. .ЛПДаже на де-факто умершем файл-серверном нечте. А вот с этим я кстати не согласна. Тот же Access используется очень широко. И как раз для случаев когда в офисе нужно быстро сваять что-то учетное очень малыми силами и при почти полном отсутствии знаний/образования/ресурсов .ЛПХотя обратно непонятно, чего бы не сделать и на любой нормальной СУБД. Коих как грязи. .... Вот поэтому и "не сделать на нормальной СУБД". .ЛПТо, что жопорукие адынэсовцы сумели сделать долго и медленно - это ещё не повод, чтоб вот такое вот изобретать. Ну я так понимаю не только "адынэсовцы" :) На другие системы бухгалтера еще больше плюются, тот же Парус к примеру. Какие бы жопорукие они не были, но они - лучшее что есть на рынке из массовых продуктов именно для нашей бухгалтерии, как я понимаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 12:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, А вы не обратили внимание на то, что в начале топика вы были больше похожи на "интересующуюся мнением", а сейчас вы на нее совсем не похожи, а грубо смахиваете на "разработчика"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 12:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
авторНу я так понимаю не только "адынэсовцы" :) На другие системы бухгалтера еще больше плюются, тот же Парус к примеру. Какие бы жопорукие они не были, но они - лучшее что есть на рынке из массовых продуктов именно для нашей бухгалтерии, как я понимаю. - угу. Когда на этой новой базе взлетит что-то, столь же универсальное как и - Парус, 1С, аксапта, САП, или ОЕБС - (не к ночи будь помянут) - тогда и поговорим о преимуществах архитектуры такого рода хранилища данных для управленческих задач или бухгалтерских, или складских задач... (шепотом, почти неслышно) фвмас... чур меня, чур меня... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПо номеру транзакции. Если станция получила обновление с пропуском, она запрашивает у сервера недостающее и тогда он уже ей персонально пересылает. не понял идеи. вот клиент шлет транзакцию, как централь отгадает, что транзакция была по устаревшим данным проведена, потому как не получила последние обновления ? на мой взгляд у централи в никаких возможностей отследить такие проблемы физически нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
и да - 200 внедрений для небольшого стартапчика - немало. С договорами на доработку, консалт, поддержку... Это, я бы сказал, много. Очень много... Без разветвленной сети интеграторов, которые тюнят решение под заказчика... Если это правда - то я удивлен. Очень. Грандиозно! это ж сколько внедрений в год делалось? 10 внедрений в год - за месяц - предприятие? За 10 лет - 100 контор... Феноменально! А заявлено около 200... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:13 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Cane Cat FisherПо поводу формата хранения, и разруливания блокировок, эту систему можно назвать "версионник, возведенный в абсолют", со всеми достоинствами и недостатками. Версионник - да, похоже. А можно поподробнее о недостатках? Cane Cat FisherНо практика показала, что чаще всего требования эти растут. И проблемой является именно задача расширения систем "в разы". Поэтому и придумали SQL-сервера - они масштабируются легче, позволяют накрыть более широкий диапазон задач - от быстрого (ну, в разумных пределах :) сбора телеметрии, до огромных неторопливых хранилищ аналитики. Частично с вами соглашусь, но сегодня все-таки начинает наблюдаться и обратная тенденция: начали выплывать альтернативные стандартным реляционным базам решения. Я об этом уже говорила выше. Cane Cat FisherКонечно, если бы под каждый род задач разрабатывалась особая, "заточенная" СУБД, возможно, она в каких-то моментах оказалась бы выигрышнее, чему универсальные. Но это очень дорогой и ненадежный путь. Согласна в контексте "под каждую отдельную задачу". Но вот если попытаться выделить классы задач? Cane Cat FisherПоэтому, я бы предположил, что в таком неторопливом режиме, на 30 бухгалтеров, можно было бы сделать систему практически на любой платформе. Аналогичные задачи - вариантную структуру записей, и т.д. - решить другими, но вполне работоспособными способами. А если те же усилия, что пошли на разработку своей системы, пустить на оптимизацию системы на SQL - результат был бы ничуть не хуже, а, уверен, лучше, и главное - перспективнее. Вообще, я бы посоветовал, сейчас не прикручивать к этому делу SQL, а срочно перевести этот фреймворк (за который авторам честь и хвала), на работу с нормальным SQL - сервером. Вот этот момент я как раз обсуждала с разработчиками именно прикладной части. То есть я реально задавала вопрос: может дело в том, как написана прикладная задача и в том, что у истоков создания системы стоял очень грамотный бухгалтер с математическим образованием? Но они почему-то уверены, что дело не только в этом. Что важны и прикладная и системная части и без такой системной многие особенности прикладной у них бы не получились. У них, к примеру, есть такой режим песочницы. Он используется и бухгалтерами и при отладке комплекса. Если перевести станцию в локальный режим работы, то вам в теории ничего не мешает начать кромсать данные в базе как вам заблогарассудится - типа - эксперименты проводить. Вы можете этим часами заниматься. А потом просто сказать что-то типа undo и система у вас вернется в начальное состояние. В теории - так же просто делать и пошаговый undo и на заданный момент времени. Как вот эту, например фичу реализовать в стандартном реляционнике, вот без такого потокового метода записи - я не представляю, - накладные расходы слишком большими будут. Насчет переноса на стандартный SQL-сервер. У них связь реализована. Т.е. есть API для цепляния и к обычному серверу. Но для реализации прикладных задач они этим не пользуются - говорят неудобно. Используют связку только если интеграция нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Edd.Dragon, Спасибо конечно, но я не разработчик :) Просто разработчики - мои очень близкие знакомые и я несколько лет так или иначе слушала про их систему всякие байки. Сейчас есть шанс все это раскрутить более серьезно. Вот я и оцениваю перспективы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:45 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемУ них, к примеру, есть такой режим песочницы. Он используется и бухгалтерами и при отладке комплекса. Если перевести станцию в локальный режим работы, то вам в теории ничего не мешает начать кромсать данные в базе как вам заблогарассудится - типа - эксперименты проводить. Вы можете этим часами заниматься. А потом просто сказать что-то типа undo и система у вас вернется в начальное состояние. В теории - так же просто делать и пошаговый undo и на заданный момент времени. Как вот эту, например фичу реализовать в стандартном реляционнике, вот без такого потокового метода записи - я не представляю, - накладные расходы слишком большими будут. Как то так ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakov, Так летает уже. Только в предыдущей версии, которая по некоторым характеристикам морально устарела, но база там именно такая как описана. А в предыдущей версии полный учет предприятия - как в 1C. В новой пока только зарплата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:47 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемEdd.Dragon, Спасибо конечно, но я не разработчик :) Просто разработчики - мои очень близкие знакомые и я несколько лет так или иначе слушала про их систему всякие байки. Сейчас есть шанс все это раскрутить более серьезно. Вот я и оцениваю перспективы. То есть 200 внедрений это НЕ серьезно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:47 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, если Вы собираетесь приобретать такую систему или что-то разрабатывать на ее основе - даже не думайте причины на поверхности и даже не вижу смысла обсуждать но сдается мне что это завуалированная реклама и интересуетесь Вы не этой БД, а тем как ее можно продвинуть тогда Вы выбрали не ту площадку, тут Вы мало чего добьетесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:48 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakov, Нет, там не стартап. Контора работает с 90х годов и обслуживается силами ээ... 2.5 программистов (в разные годы по-разному, но среднее число примерно такое). При этом они всех своих клиентов успевают поддерживать и вовремся выпускать все изменения в законодательстве, которые за эти годы имели место быть. Говорят что все это благодаря только гибкости фреймворка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:50 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)интересующаяся_мнениемУ них, к примеру, есть такой режим песочницы. Он используется и бухгалтерами и при отладке комплекса. Если перевести станцию в локальный режим работы, то вам в теории ничего не мешает начать кромсать данные в базе как вам заблогарассудится - типа - эксперименты проводить. Вы можете этим часами заниматься. А потом просто сказать что-то типа undo и система у вас вернется в начальное состояние. В теории - так же просто делать и пошаговый undo и на заданный момент времени. Как вот эту, например фичу реализовать в стандартном реляционнике, вот без такого потокового метода записи - я не представляю, - накладные расходы слишком большими будут. Как то так ? Да, по эффекту примерно похоже. Нууу... Oracle наверно может все, но это очень дорого, и по стоимости и по обслуживанию. Согласитесь.. небольшая конторка вообще без админов его себе позволить не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)То есть 200 внедрений это НЕ серьезно? Смотря с чем сравнивать :) Если с 1С например, то эта капля даже не в море, в океане. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 13:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperинтересующаяся_мнением, если Вы собираетесь приобретать такую систему или что-то разрабатывать на ее основе - даже не думайте причины на поверхности и даже не вижу смысла обсуждать Не покупать и не приобретать, а скорее, - поучаствовать. Вот пытаюсь понять перспективность. У меня тоже есть некоторое представление о теории и практике строения реляционных СУБД. И я понимаю, что это чудо ни на что не похоже. Но живет же. И даже вполне себе прилично. Вот мне и стало интересно. Я пытаюсь немного абстрагироваться от своих знаний и действительно посмотреть на систему непредвзято. Сравнивать только возможности, причем в контексте применения к конкретным задачам. Меня одной на такой анализ не хватит. Хочется коллективного мнения. Взять к примеру, переменное число полей в таблицах. Де-факто получается, что у них просто очень широкие таблицы, в которые напихано сразу все. В теории, - ну что мешает сделать это в реляционной СУБД? Тем более что ALTER TABLE, насколько я понимаю, операция простая и в современных СУБД ресурсов не требует особо, а значения с NULL память не забивают.. Так почему не делают? Некошерно? Некрасиво? Почему? С вычислениями агрегатов на лету, - опять то же самое. Я понимаю, что в теории ничто не мешает в современной БД повесить всю эту обработку на триггера. Но почему-то тоже особо не делают. Почему? А жаль что не видите смысла обсуждать причины, но воля ваша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:10 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПо номеру транзакции. Если станция получила обновление с пропуском, она запрашивает у сервера недостающее и тогда он уже ей персонально пересылает. Такое возможно в двух случаях: 1) Транзакции полностью сериализованы и идут исключительно последовательно; 2) Хранится индивидуальный список принятых транзакций. Во всех остальных случаях возможны потери данных, когда транзакция коммитится позже чем бОльшая по номеру. Какой случай реализован в Вашей системе? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:12 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемVladimir Baskakov, Так летает уже. Только в предыдущей версии, которая по некоторым характеристикам морально устарела, но база там именно такая как описана. А в предыдущей версии полный учет предприятия - как в 1C. В новой пока только зарплата. А, тогда хороших полетов! То есть кадры, зарплата, склад, управленка? Налоги всякие... а отпуска, больничные... перекрывающиеся... бюджетирование... (тихо, почти шепотом) толстый клиент, да? чур меня, чур меня... А на чем оно написано? Апи какое? Например, я хочу прикрутить к этому мегачуду эксель. Люблю экселевские сводные таблички например... так получилось. Или люблю фаст-репорт. Или кристалл - репорт. Или еще какую нить всеядную фигню... Мой вердикт такой - или - это мегагениальный суперпродукт будущего.... или.... Ну - я романтик - буду верить в хорошее! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:13 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемПо номеру транзакции. Если станция получила обновление с пропуском, она запрашивает у сервера недостающее и тогда он уже ей персонально пересылает. Такое возможно в двух случаях: 1) Транзакции полностью сериализованы и идут исключительно последовательно; 2) Хранится индивидуальный список принятых транзакций. Во всех остальных случаях возможны потери данных, когда транзакция коммитится позже чем бОльшая по номеру. Какой случай реализован в Вашей системе? Я могу уточнить это у разработчика, - но по-моему первый. Информация от клиента уходит на сервер, сервер ей присваивает очередной по порядку номер и бродкастит это клиентам. Клиенты получают, записывают к себе в базу. Если клиент видит, что у него пропуск в номере - запрашивает у сервера недостающее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovА, тогда хороших полетов! То есть кадры, зарплата, склад, управленка? Налоги всякие... а отпуска, больничные... перекрывающиеся... бюджетирование... В предыдущей версии - да. Vladimir Baskakov(тихо, почти шепотом) толстый клиент, да? чур меня, чур меня... Да, собственно на базе фреймворка и сделан. Клиентские БД, которые в описании базы описаны встроены в фреймворк, т.е. они как встроенная база работают. Vladimir BaskakovА на чем оно написано? Апи какое? База и фреймворк написаны на C++, причем чистом, без использования библиотек. Разработчики собирали их детище под разными платформами, не Win - работает. Думаю, полное тестирование все-таки выявит особенности, но опять-таки, думаю, что допилить в случае чего будет несложно. Сама прикладная часть написана на встроенном языке фреймворка, на нем и API, если дописать что-то хотите. Встроенный язык с полной поддержкой ООП и плюс чего-то там еще умеет. Но в этом мне еще отдельно разбираться надо. Vladimir BaskakovНапример, я хочу прикрутить к этому мегачуду эксель. Люблю экселевские сводные таблички например... так получилось. Или люблю фаст-репорт. Или кристалл - репорт. Или еще какую нить всеядную фигню... Excel, понятное дело, прикручен в плане экспорта в него. Более детально - надо спрашивать у разработчиков. Насчет остальных продуктов - неуверена. Они для создания отчетов внутренними средствами фреймворка пользуются. Доработки такого рода делают если заказчик пожелает. Vladimir BaskakovМой вердикт такой - или - это мегагениальный суперпродукт будущего.... или.... Ну - я романтик - буду верить в хорошее! Вот и я пытаюсь понять кто я.. или романтик или :) Поэтому и хочу коллективного мнения и критики подхода. :) Только аргументированной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:27 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЯ могу уточнить это у разработчика, - но по-моему первый. Информация от клиента уходит на сервер, сервер ей присваивает очередной по порядку номер и бродкастит это клиентам. Т.е. пока с сервером работает один клиент, остальные сидят и курят в очереди. Ещё вопрос: она продолжает работать с состоянием, актуальным на момент завершения седьмой транзакции и продолжает формировать данные для следующей. Если она в этот момент завершит свою работу и изменившиеся данные пойдут на сервер, он не сможет записать ее данные и сообщит на станцию об ошибке (вспомним, что они редактировали один и тот же документ). Как сервер определит, что они редактировали один и тот же документ? Сценарий: 1. Операционистки 1 и 2 начинают редактировать Документ 1; 2. Операционистка 3 начинает редактировать Документ 2; 3. Операционистка 1 сохраняет Документ 1; 4. Операционистка 3 сохраняет Документ 2; 5. Операционистка 2 сохраняет Документ1. Что делает сервер чтобы сообщить Операционистке 2 об ошибке? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением А жаль что не видите смысла обсуждать причины, но воля ваша. интересующаяся_мнениемКонтора работает с 90х годов и обслуживается силами ээ... 2.5 программистов это разве не достаточная причина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:39 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Не понял - что вы такого удивительного обнаружили в их транзакциях. Вполне нормальный механизм. Обычно это называется "оптимистическая блокировка". А транзакции перепутаться не могут просто потому, что номер транзакции присваивается при фиксации. Непонятно другое - как быстро получить текущее состояние по, по сути, транзакционному логу и как обеспечиваются скорости поиска в такой базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovКак сервер определит, что они редактировали один и тот же документ? Сценарий: 1. Операционистки 1 и 2 начинают редактировать Документ 1; 2. Операционистка 3 начинает редактировать Документ 2; 3. Операционистка 1 сохраняет Документ 1; 4. Операционистка 3 сохраняет Документ 2; 5. Операционистка 2 сохраняет Документ1. Что делает сервер чтобы сообщить Операционистке 2 об ошибке? ну тут то понятно, по SCN, как и любой другой версионник. просто совсем без блокировок на некоторых задачах процент неудачных транзакций зашкалит за все разумное. интересующаяся_мнениемЯ могу уточнить это у разработчика, - но по-моему первый. Информация от клиента уходит на сервер, сервер ей присваивает очередной по порядку номер и бродкастит это клиентам. Клиенты получают, записывают к себе в базу. Если клиент видит, что у него пропуск в номере - запрашивает у сервера недостающее. ну даты все совсем не годиться архитектура. клиент отсылая транзакцию может не подозревать, что прозевал какие-то транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:49 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТ.е. пока с сервером работает один клиент, остальные сидят и курят в очереди. Почему? Каждый клиент ведь работает со своими локальными данными. Чтение - это вообще не проблема. Обновление записи, - что в такой схеме помешает нескольким клиентам одновременно обновлять данные? Они обновили, - отправили на сервер. А там уже транзакции номер присвоился. Так на практике и происходит. Dimitry SibiryakovЕщё вопрос: она продолжает работать с состоянием, актуальным на момент завершения седьмой транзакции и продолжает формировать данные для следующей. Если она в этот момент завершит свою работу и изменившиеся данные пойдут на сервер, он не сможет записать ее данные и сообщит на станцию об ошибке (вспомним, что они редактировали один и тот же документ). Как сервер определит, что они редактировали один и тот же документ? Сценарий: 1. Операционистки 1 и 2 начинают редактировать Документ 1; 2. Операционистка 3 начинает редактировать Документ 2; 3. Операционистка 1 сохраняет Документ 1; 4. Операционистка 3 сохраняет Документ 2; 5. Операционистка 2 сохраняет Документ1. Что делает сервер чтобы сообщить Операционистке 2 об ошибке? Сервер всегда знает станцию, от которорой пришел запрос на обновление данных. Допустим в вашем сценарии на начальный момент времени у нас 7 транзакций. Данные от операционистки 2 сервер сохранит в качестве транзакции под номером 8, а от операционистки 3 - 9. Когда придет запрос от операционистки 2, там будет указано, что она хочет сохранить документ 1 и ее последняя транзакция - 7. Сервер увидит, что после этой транзакции уже происходило редактирование этого документа (сохранено в транзакции 8) и он вернет клиенту сообщение об ошибке - что-то вроде "конфликт обновление записи, обновите документ и отредактируйте его снова". Вообще- это задача прикладного программиста отработать эту ошибку. Реакция с точки зрения пользователя может быть и другой, например - перезаписать автоматом, или сравнить запись по полям, обновив автоматом те поля где нет конфликта и дать пользователю решать, как именно разрулить конфликт с конкретным полем, ну и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемVladimir Baskakov, Нет, там не стартап. Контора работает с 90х годов и обслуживается силами ээ... 2.5 программистов (в разные годы по-разному, но среднее число примерно такое). При этом они всех своих клиентов успевают поддерживать и вовремся выпускать все изменения в законодательстве, которые за эти годы имели место быть. Говорят что все это благодаря только гибкости фреймворка. 200 внедрений / 2.5 разработчика + BOSS = Вах !!! Наркобароны плачут кровавыми слезами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!ну тут то понятно, по SCN, как и любой другой версионник. Да нет, совсем непонятно: как сервер определит, что в промежутке между взятием Документа 1 на редактирование и его "коммитом" изменялся именно он. Будет читать все транзакции от "стартовой" до конца? То бишь в примере из статьи при записи транзакции 10 надо определить, что транзакция 8 изменила именно Документ 1, а не Документ 3, например. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Вот пытаюсь понять перспективность. У меня тоже есть некоторое представление о теории и практике строения реляционных СУБД. И я понимаю, что это чудо ни на что не похоже. Бесперспективно. Но настоящего романтика это пугать не должно. Это духовный выбор... (я имею в виду изобретение велосипедов) не надо опошлять его деньгами... и размышлениями о всяких транзакциях - блокировках тоже. Особенности БД не играют ключевой роли в проектировании ЕРП системы. Объекты сериализуются, восстанавливаются? Хвала всеблагой эволюции... откуда, куда? Так ли это важно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 14:55 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемОбновление записи, - что в такой схеме помешает нескольким клиентам одновременно обновлять данные? Они обновили, - отправили на сервер. А там уже транзакции номер присвоился. Так на практике и происходит. Возьмём тысячу клиентов, желающих одновременно отправить свои изменения на сервер. Пусть одна отправка занимает одну секунду. Тысячный клиент будет ждать 999 секунд пока сервер обработает пакеты остальных. Разве нет? интересующаяся_мнениемСервер увидит, что после этой транзакции уже происходило редактирование этого документа (сохранено в транзакции 8) Как "увидит"? Перечитав из файла каждую транзакцию после седьмой? А если их успело пройти сто тысяч?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
--------------------------------Не понял - что вы такого удивительного обнаружили в их транзакциях. Вполне нормальный механизм. Обычно это называется "оптимистическая блокировка". А транзакции перепутаться не могут просто потому, что номер транзакции присваивается при фиксации. Непонятно другое - как быстро получить текущее состояние по, по сути, транзакционному логу и как обеспечиваются скорости поиска в такой базе. За наименование - спасибо, буду знать :) По поиску - конечно они используют индексы и индексируют все что не лень. И все равно, если сравнивать один к одному, то скорость чтения здесь конечно получается меньше, причем сильно. Но на практике это как раз и нивелируется тем, что на чтение каждый пользователь работает со своими локальными данными, в единопользовательском, так сказать, режиме, и плюс еще то, что база у него де-факто - встроенная, живущая в его же процессе, то есть вы не теряете время на передаче именно данных. Конечно, вся эта петрушка будет хорошо жить на небольших базах. Если мы начнем перерастать какие-то пределы (какие - хочу провести эксперименты со временем), то наверно этот недостаток должен начать давать о себе знать. По факту, я так понимаю они сталкивались с числом записей примерно до поллумиллиона в одной таблице, пока задержек не проявлялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТо бишь в примере из статьи при записи транзакции 10 надо определить, что транзакция 8 изменила именно Документ 1, а не Документ 3, например. Ну а как вы в обычной базе определяете, что это уже существующая запись? По ключу. А поиск - индексы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:10 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемВерсионник - да, похоже. А можно поподробнее о недостатках? Большие накладные расходы при активных конкурирующих операциях модификации. Я посмотрю, как весело они будут броадкастить изменения на клиентов в этом случае. Есть подозрение, что зависимость будет нелинейная, и на каком-то уровне система просто подохнет, и это не решится никаким апгрейдом железа и распараллеливанием серверов. интересующаяся_мнениемсегодня все-таки начинает наблюдаться и обратная тенденция: начали выплывать альтернативные стандартным реляционным базам решения. Согласна в контексте "под каждую отдельную задачу". Но вот если попытаться выделить классы задач? Я еще раз хочу подчеркнуть: специализированные решения возможны, и в каких-то аспектах могут быть технически совершеннее стандартных. Но в данном случае опасение вызывает не технические параметры системы, а именно то, что она поддерживается 2.5 человеками. Что будет с системой, если эти человеки уедут в Канаду, или захотят стать джазовыми музыкантами? К сожалению, часто даже технически передовые и совершенные решения умирают, лишь потому, что оказались "не в струе" рынка. Вспомнить ту же OS/2. интересующаяся_мнениемУ них, к примеру, есть такой режим песочницы. Ну, это достаточно мелкий аспект, чтобы на нем зацикливаться. Для отладки и тестирования используют отдельные базы, создание которых занимает пару кликов в менеджере БД. В реальной работе, для "посмотреть, что будет, если" можно расширить понятие проведенного документа - типа, черновик, эксперимент, проведен, если я правильно понял идею. интересующаяся_мнениемНасчет переноса на стандартный SQL-сервер. У них связь реализована. Т.е. есть API для цепляния и к обычному серверу. Но для реализации прикладных задач они этим не пользуются - говорят неудобно. Используют связку только если интеграция нужна. Естественно, если у них вся логика построена на навигационном доступе, то SQL-сервер для них неудобен, и при применении "в лоб" даст только тормоза и неудобства. Нужно сильно переделывать потроха. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемGluk (Kazan)пропущено... Как то так ? Да, по эффекту примерно похоже. Нууу... Oracle наверно может все, но это очень дорого, и по стоимости и по обслуживанию. Согласитесь.. небольшая конторка вообще без админов его себе позволить не может. Небольшая конторка без админов может позволить себе нанять админов, которые поставят Postgress. С ним и 1C кстати дружит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:16 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЯ пытаюсь немного абстрагироваться от своих знаний и действительно посмотреть на систему непредвзято. Это очень вредно для (финансового) здоровья - абстрагироваться от знаний ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемDimitry Sibiryakovпропущено... Такое возможно в двух случаях: 1) Транзакции полностью сериализованы и идут исключительно последовательно; 2) Хранится индивидуальный список принятых транзакций. Во всех остальных случаях возможны потери данных, когда транзакция коммитится позже чем бОльшая по номеру. Какой случай реализован в Вашей системе? Я могу уточнить это у разработчика, - но по-моему первый. Информация от клиента уходит на сервер, сервер ей присваивает очередной по порядку номер и бродкастит это клиентам. Клиенты получают, записывают к себе в базу. Если клиент видит, что у него пропуск в номере - запрашивает у сервера недостающее. Можно не спрашивать, это нумер (1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!просто совсем без блокировок на некоторых задачах процент неудачных транзакций зашкалит за все разумное. Согласна полностью. Поэтому для себя я изначально ограничиваю класс задач, для которых данная архитектура применима. Никто и не говорит что это универсальное решение. Насчет неудачных транзакций, - мне вот еще такая идея приходила в голову: у нас же клиент видит все обновления в локальной базе. В теории, если мы в этой архитектуре проектируем систему, которая предполагает большое количество апдейтов, то нам ничего не мешает чекать обновление и подсовывать их операционистке пока она ворон считает. Т.е. действовать, так сказать, превентивным методом. Это должно сократить неудачные транзакции на стороне сервера. Но тоже до определенного предела конечно. Думаю, сотню операционисток у нас есть шанс обработать, а вот систему, автоматом гонящую потоки данных откуда-то, конечно уже нет. Yo.!ну даты все совсем не годиться архитектура. клиент отсылая транзакцию может не подозревать, что прозевал какие-то транзакции. Может, но, во-первых это критично только в случаях конфликта на обновление. Если идет массовая вставка данных - какая разница в каком порядке они вставятся? А при конфликте обновления - см. чуть выше, как эту ситуацию можно минимизировать. Вы подумайте еще вот о чем: если у вас клиент-сервер классический, вы вообще не сможете отследить такую ситуацию с конфликтом обновления. Сервер просто перезапишет данные поверх и все. Разве нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:21 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПоэтому и хочу коллективного мнения и критики подхода. :) Только аргументированной. 1. Распишите, что происходит когда падает сервер и как обеспечивается отсутствие потерь закомиченных изменений 2. Оценка производительности и масштабируемости под нагрузкой (что-то в архетектуре подсказывает, что масштабируемости не будет) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:23 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВозьмём тысячу клиентов, желающих одновременно отправить свои изменения на сервер. Пусть одна отправка занимает одну секунду. Тысячный клиент будет ждать 999 секунд пока сервер обработает пакеты остальных. Разве нет? Ммм... хороший вопрос. Уточню у разработчика как это на практике происходит. Но вообще конечно на 1000 одновременных пользователей такая архитектура не рассчитана, это я и сама понимаю. До сотни - да, наверно. Больше - вряд-ли. Тут уже реально распределенную БД нужно делать, чтобы именно в такой архитектуре играться. И при этом далеко не факт что игра будет стоить свеч. Dimitry SibiryakovКак "увидит"? Перечитав из файла каждую транзакцию после седьмой? А если их успело пройти сто тысяч?.. По индексам. Данные же приходят на обновление конкретной записи, а у нее есть ключ. ищем по ключу в индексе, смотрим, транзакция с каким номером совершила последнее обновление. Где-то так. Если интересны более конкретные детали - это я уточню у разработчика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:29 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемНу а как вы в обычной базе определяете, что это уже существующая запись? По ключу. А поиск - индексы. В обычной базе нет Вашей главной фишки - строго последовательного доступа. Поэтому всегда можно сразу (двумя чтениями для IB/FB, одним для Oracle) найти последнюю версию нужной записи и сравнить номер создавшей её транзакции с требуемым. А теперь расскажите поподробнее об индексах: как устроены, когда и как обновляются, где лежат . Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:55 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)интересующаяся_мнениемПоэтому и хочу коллективного мнения и критики подхода. :) Только аргументированной. 1. Распишите, что происходит когда падает сервер и как обеспечивается отсутствие потерь закомиченных изменений 2. Оценка производительности и масштабируемости под нагрузкой (что-то в архетектуре подсказывает, что масштабируемости не будет) 1. Ммм... Если сервер упал так, что данные забрать можно, берем файл базы копируем ее на другую машину и говорим что она у нас теперь сервер. Если так, что порушились и данные в том числе - да, потери закоммиченных транзакций будут, но только самых последних. В этом случае, смотрим на какой из клиентских машин самый большой номер транзакции и объявляем ее сервером. Последние данные придется перевбить. 2. Эхх... сама пытаюсь стрясти эти данные с разработчиков :) Смотря что считать масштабируемостью. Рост числа одновременно работающих пользователей? Добавляются они довольно легко, макс. кол-во, я думаю, будет сильно зависеть от задач системы. Если она массово обновляет, - лимит кончится быстрее, по моим ощущениям - не больше сотни. Но, - не проверяла и, - очень хочу проверить. Если в основном только читает, а обновляет редко, - не вижу никаких причин, почему их не может быть больше. Рост объема базы? Здесь да, машины у нас клиентские обычные, террабайтные базы ты на них не запихнешь :) Но некоторое кол-во гигов - почему бы и нет? При том что их практика показывает - что для учетных задач бухгалтерии у них прирост на практике небольшой - около 200МБ в год на предприятие из 2000 человек. Здесь важно понимать вот что: я изначально для себя позиционирую этот фреймворк для решения задач учета на предприятиях малой и средней величины. А это вполне определенный класс задач: немного пользователей, но сложный учет, обилие отчетов и форм, постоянные обновления из-за изменений в законодательстве... что-то в этом роде. Плюсь еще финансовое положение клиентов немаловажную роль играет. В таких задачах важны не кол-во одновременно работающих пользователей и масштабируемость.. и даже ни спасение последних закоммиченных транзакций - они последний документ ручками вобьют если что. Им гораздо важнее иметь возможность чтобы у них автоматом считались многие вещи по весьма извращенным формулам, учитывающим массу дополнительных параметров. Часто таких, что в них черт ногу сломит. Ну и чтобы расширить/поменять все это было можно легко если вдруг правила изменятся или новые требования выйдут. И еще момент: далеко не каждый магазин средней паршивости может позволить себе даже SQL Server, не говоря уж об Oracle... Есть и еще один момент: у нас сейчас направление партии и правительства - уход с Win в госучреждениях. Это решение вроде как в теории может пойти на чем угодно. Максимум - небольшой допил потребуется на особенности компиллятора C++. Вообще - по-моим ощущениям - из этого можно сделать эдакий проапгрейженный мультиплатформенный Access. С многопользовательностью у него будет попроще чем у Access, ну и язык фреймворка, как я понимаю, побогаче. А ограничения на масштабируемость именно БД - примерно те же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемМожет, но, во-первых это критично только в случаях конфликта на обновление. Если идет массовая вставка данных - какая разница в каком порядке они вставятся? А при конфликте обновления - см. чуть выше, как эту ситуацию можно минимизировать. минимизировать без шансов, на практике это будет выглядеть как еженедельные продажи товара больше чем реально на складе. просто потому, что винда чуть проглючила или нетворк чей-то вирус забил на какое-то время. помниться у фокспро это выливалась в поломанные индексы еженедельно. еще интересно, что происходит если перегрузить клиента когда он уже записал транзакцию локально, но еще не передал эту транзакцию на "централь". интересующаяся_мнениемВы подумайте еще вот о чем: если у вас клиент-сервер классический, вы вообще не сможете отследить такую ситуацию с конфликтом обновления. Сервер просто перезапишет данные поверх и все. Разве нет? как раз тут без всяких проблем, блокировочник поставит лок и насильно серилизует транзакции, а версионник скорее всего применит патерн оптимистичной блокировки и тоже гарантированно избежит записи мусора в бд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемИ еще момент: далеко не каждый магазин средней паршивости может позволить себе даже SQL Server, не говоря уж об Oracle... Т.е. о бесплатных СУБД у вас там не слышали вообще... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 15:59 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемИ еще момент: далеко не каждый магазин средней паршивости может позволить себе даже SQL Server, не говоря уж об Oracle... оракл и мсскл имеют бесплатные варианты своих субд с орграничением в 10 гб на датафайлы. совершенно очевидно, что ваш фреймворк 10 гб базу просто не потянет, а на паре гб проиграет этим субд по производительности катастрофично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 16:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемя изначально для себя позиционирую этот фреймворк для решения задач учета на предприятиях малой и средней величины. А это вполне определенный класс задач: немного пользователей, но сложный учет, обилие отчетов и форм, постоянные обновления из-за изменений в законодательстве... что-то в этом роде. Плюсь еще финансовое положение клиентов немаловажную роль играет. В таком случае пугают задекларированные полтора землекопа 2.5 разработчика Ну и нишевость: 1. Убедить 1C пользоваться этим вряд-ли удастся 2. Написать что-то таким ресурсом конкурирующее с 1C на его же поле - нереально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 16:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемDimitry SibiryakovВозьмём тысячу клиентов, желающих одновременно отправить свои изменения на сервер. Пусть одна отправка занимает одну секунду. Тысячный клиент будет ждать 999 секунд пока сервер обработает пакеты остальных. Разве нет? Ммм... хороший вопрос. Уточню у разработчика как это на практике происходит. Но вообще конечно на 1000 одновременных пользователей такая архитектура не рассчитана, это я и сама понимаю. До сотни - да, наверно. Больше - вряд-ли. Тут уже реально распределенную БД нужно делать, чтобы именно в такой архитектуре играться. И при этом далеко не факт что игра будет стоить свеч. Обсудила, уточнила. Да, клиент будет ждать ответа с сервера. Но это не помешает ему заниматься другими задачами параллельно. В других окнах, - а ожидание будет происходить только в одном окне. В ответ на это обсуждение у меня тоже возник вопрос: а как с этим в реляционных базах? Смотрите, - вроде бы да - в Викте все пишется в конец общего файла, - все вынуждены ждать. В классической РСУБД вы в теории можете открывать несколько параллельных транзакций и писать в разные таблицы, расположенные в разных местах. Но лог транзакций то общий, соответственно на запись в него - очередь. И на диск вам тоже писать все это тоже придется, а в разные места еще и медленней получится, - если у вас один диск и один процессор, потому что головка скачет, чтобы в разные места писать. Или я чего-то не понимаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 16:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемНо лог транзакций то общий Это для тех СУБД у кого лог транзакций есть. Ну и как Вы сами сказали: это не мешает серверу заниматься другими задачами параллельно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 16:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемНу а как вы в обычной базе определяете, что это уже существующая запись? По ключу. А поиск - индексы. В обычной базе нет Вашей главной фишки - строго последовательного доступа. Поэтому всегда можно сразу (двумя чтениями для IB/FB, одним для Oracle) найти последнюю версию нужной записи и сравнить номер создавшей её транзакции с требуемым. А теперь расскажите поподробнее об индексах: как устроены, когда и как обновляются, где лежат . Узнала. Индексы - стандартный B-Tree. Все физически лежат в одном файле. В оперативной памяти всегда хранится табличка по месту в файле для корней всех индексов каждой таблицы. Сами индексы может тоже как-то кэшируются, - но это я не уточняла, так что врать не буду. Индексы обновляются при поступлении новых записей. Сначала, - пока транзакция не зафиксирована - только о оперативной памяти. Потом, после завершения всех операций по транзакции - сброс на диск. Перед созданием индекса и операции вставки разумеется проверка записи на конфликт. Т.е. лезем по ключу в индекс соотв. таблицы и находим запись. Создание и обновление индекса выполняется параллельно как на сервере, так и на клиентах. Т.е. сервер клиентам индексы не пересылает, они его сами создают при записи оновлений в свою базу. По размерам - файл индекса на практике примерно равен файлу данных. У меня ответный вопрос про "одним чтением". А физически - это как? К примеру - вот у вас таблица в сотню тысяч записей. Откуда вы вот так вот сразу узнаете в каком месте таблицы находится искомая запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 16:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемИ на диск вам тоже писать все это тоже придется, а в разные места еще и медленней получится, - если у вас один диск и один процессор, потому что головка скачет, чтобы в разные места писать. Или я чего-то не понимаю? не понимаете. REDO (или лог транзакций) обычно на отдельном девайсе. Не надо головке дергаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!минимизировать без шансов, на практике это будет выглядеть как еженедельные продажи товара больше чем реально на складе. просто потому, что винда чуть проглючила или нетворк чей-то вирус забил на какое-то время. помниться у фокспро это выливалась в поломанные индексы еженедельно. Не совсем понимаю - почему. Можно поподробнее? Как можно продать товара больше чем на складе если остаток контролирует сервер и просто не даст это сделать? Yo.!еще интересно, что происходит если перегрузить клиента когда он уже записал транзакцию локально, но еще не передал эту транзакцию на "централь". Дык клиент не имеет права записать транзакцию. Он может только попросить сервер записать ему транзакцию. Я же писала - транзакционность контролирует сервер и только он. Yo.!интересующаяся_мнениемВы подумайте еще вот о чем: если у вас клиент-сервер классический, вы вообще не сможете отследить такую ситуацию с конфликтом обновления. Сервер просто перезапишет данные поверх и все. Разве нет? как раз тут без всяких проблем, блокировочник поставит лок и насильно серилизует транзакции, а версионник скорее всего применит патерн оптимистичной блокировки и тоже гарантированно избежит записи мусора в бд. Стоп стоп. Блокировочник поставит лок, только если он знает, что две операционистки открыли на редактирование общий документ. Как вы хотите обеспечить это знание? Открыть транзакцию на клиенте и ждать пока операционистка закончит? А если она чай уйдет пить? Насчет версионника - кто-то тут писал, что то, что сделано в этой БД и есть оптимистические блокировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)интересующаяся_мнениемИ на диск вам тоже писать все это тоже придется, а в разные места еще и медленней получится, - если у вас один диск и один процессор, потому что головка скачет, чтобы в разные места писать. Или я чего-то не понимаю? не понимаете. REDO (или лог транзакций) обычно на отдельном девайсе. Не надо головке дергаться Ок, давайте с отдельным девайсом. Но при этом: 1. Это никак не изменит того факта, что сама процедура записи в этот конкретно лог, лежащий на одном девайсе для 1000 пользователей, пожелавших одновременно совершить какие-то операции, должна происходить последовательно. ... вот тут сказали что есть системы без лога транзакций. Мне как-то все время приходилось сталкиваться только с теми что лог ведут... интересно как в таких системах этот момент организован. 2. Допустим у вас транзакция обновляет две разные таблицы и соотв. обновляется лог транзакций. Данные - на одном девайсе, лог - на другом. Получается что вам нужно: сделать две записи в лог, и здесь головка не дернулась. Сделать две записи в два разных файла и здесь головка дергается. В целом - три операции записи. В Викте отдельного лога нет, - только файл данных. Соответственно имеем на это же всего две записи без дерганий головки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемНо лог транзакций то общий Это для тех СУБД у кого лог транзакций есть. Ну и как Вы сами сказали: это не мешает серверу заниматься другими задачами параллельно. А можно поподробнее? Это как без лога транзакционную целостность контролировать? Что касается параллельно - в данном случае серверу больше нечем заниматься. Чтение же только на клиентах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемGluk (Kazan)пропущено... не понимаете. REDO (или лог транзакций) обычно на отдельном девайсе. Не надо головке дергаться Ок, давайте с отдельным девайсом. Но при этом: 1. Это никак не изменит того факта, что сама процедура записи в этот конкретно лог, лежащий на одном девайсе для 1000 пользователей, пожелавших одновременно совершить какие-то операции, должна происходить последовательно. ... вот тут сказали что есть системы без лога транзакций. Мне как-то все время приходилось сталкиваться только с теми что лог ведут... интересно как в таких системах этот момент организован. 2. Допустим у вас транзакция обновляет две разные таблицы и соотв. обновляется лог транзакций. Данные - на одном девайсе, лог - на другом. Получается что вам нужно: сделать две записи в лог, и здесь головка не дернулась. Сделать две записи в два разных файла и здесь головка дергается. В целом - три операции записи. В Викте отдельного лога нет, - только файл данных. Соответственно имеем на это же всего две записи без дерганий головки. 1. Да, commit-ы сериализуются, но файл пишется последовательно, что значительно быстрее рандомной записи 2. Файлы данных обновляются в фоновом режиме, эта запись НЕ сериализуется 3. Да, есть РСУБД без логов транзакций IB и его клоны. Там сам файл данных по сути лог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:24 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПо размерам - файл индекса на практике примерно равен файлу данных. Если он лежит на том же диске, то при получении транзакции сервер должен: 1) записать её в основной файл 2) записать ссылки на неё в файл индексов по числу индексов, определённых для данного типа записи. Т.е. никакой последовательной записи уже не получается. Получается стандартный рандомный доступ и головки бегают туда-сюда. интересующаяся_мнениемУ меня ответный вопрос про "одним чтением". А физически - это как? К примеру - вот у вас таблица в сотню тысяч записей. Откуда вы вот так вот сразу узнаете в каком месте таблицы находится искомая запись? Если известен идентификатор записи (db_key, rowid), то он включает в себя адрес страницы на которой она лежит. Если идентификатор неизвестен, тогда как обычно - требуется пробежаться по индексу для его получения. После чего - читается нужная страница. Никаких отличий от Вашей схемы, не считая выровненности страниц по кластерам/секторам диска, что ускоряет их чтение. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЭто как без лога транзакционную целостность контролировать? А какое отношение имеет лог к целостности? А так легко: достаточно менять статус транзакции на "закоммичено" только после сброса на диск её грязных страниц. А точнее - держать Transaction Invention Page последней в очереди на запись. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:32 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
2 интересующаяся_мнением интересующаяся_мнением.ЛПЭтот вопрос очень, очень интересен. Особенно в свете декларируемого "в случае потери сервера, сервером можно объявить любую из рабочих станций" По номеру транзакции. Если станция получила обновление с пропуском, она запрашивает у сервера недостающее и тогда он уже ей персонально пересылает. Ещё раз. По буквам. Медленно. Станция пропустила какое-то обновление. Был поток транзакций от других машин, транзакции номер 1, 2, 3, 4, 5. Бухгалтер порнуху смотрел, чем загрузил всю свою машину, и проспал бродкаст. До станции дошли транзакции 1, 2, 3, 4. В этот момент "сервер" умер. Как станция узнает о том, что она чего то недополучила? У кого она это узнает? У "сервера"? Но ведь "сервер" - умер . Если она об этом не узнает - кто помешает именно эту станцию сделать новым "сервером" взамен умершего? Пришёл админ, "просто выбирается какая-нибудь станция (ручками, не автоматом) и у нее взводится флажек. И можно жить дальше." . Не будет же он шерстить все рабочие станции на предмет полного соответствия ихних локальных данных. Если эту больную станцию сделают сервером - какие номера она будет выдавать для новых транзакций? Следующий номер будет 5? Что произойдёт на всех остальных рабочих станциях, когда к ним второй раз придёт транзакция за номером 5, причём совсем другая, не та, что в первый раз? интересующаяся_мнением.ЛПВ базе хранится вся история, от ишачьей пасхи до сегодняшнего дня. Вся эта база в полном объёме находится у всех клиентов. На самом деле, не совсем так. У них там есть механизм - называется компрессирование. Он как раз и предназначен для того, чтобы "схлопнуть" историю. Т.е. статейные заявления о том, что в любой момент времени можно получить состояние базы на любой момент времени - не соответствуют действительности. Правильно я понимаю? интересующаяся_мнениемНе клиент бродкастит, а сервер. Клиент передает данные на сервер уже не бродкастом а конкретно ему. И не на каждый чих. Данные передаются только об изменениях. Это неважно, рассылает бродкастовый пакет сам клиент, или псевдо-сервер по требованию клиента. Важдно, что по требованию клиента. Как только клиент что-то проапдейтил, так тут же все остальные клиенты вынуждены ловить и обрабатывать бродкаст об этом апдейте. интересующаяся_мнениемА что вы имеете в виду под "нужно, не нужно, пофигу?" Именно это и имею в виду. Рабочая станция создала одну запись. Никому не нужную, кроме неё. Остальные про эту запись и знать не знали бы, и не нужно им оно. А потом эта одна запись этой самой рабочей станцией начинает непрерывно апдейтиться. С частотой стопиццоттыщщ апдейтов в секунду. Чем в это время будут заниматься остальные рабочие станции? Ловить из сети бродкасты и обрабатывать их? Стопиццоттыщщ бродкастов в секунду, по поводу апдейта записи, которая нафиг им не нужна? В статье содержатся какие-то умные слова насчёт горизонтальной маштабируемости, но это, знаете ли, маштабируемость наоборот. Каждый новый (пишущий) клиент понижает общую производительность системы (как читателей, так и писателей). интересующаяся_мнениемМмм.. да. Скорее всего. Так и не позиционируется это для больших нагрузок на запись. Тогда зачем использовать способ хранения в виде append-only лога изменений? интересующаяся_мнениемУ Аксес я так понимаю все-таки проблемы с многопользовательностью? Или нет? Конечно. Но в обсуждаемой системе их еще больше :) По крайней мере, если аксесовский клиент сойдёт с ума, и начнёт стопиццоттыщ раз в секунду апдейтить запись - он разве что сеть подзасрёт. У вас же оно подзасрёт и процессорные мощности всех остальных клиентов. интересующаяся_мнением.ЛПДаже на де-факто умершем файл-серверном нечте. А вот с этим я кстати не согласна. Тот же Access используется очень широко. Какая разница, насколько широко он используется, если этот продукт не развивается? Последние значимые нововведения были в 2000-ом году (поддержка клиент-серверного режима в виде adp-клиента к базе MS SQL Server). После этого аксес умер. С тех пор нововведения от версии к версии - нечто из серии "у трупа какое-то время продолжают расти волосы и ногти". Впрочем, неважно. интересующаяся_мнениемИ как раз для случаев когда в офисе нужно быстро сваять что-то учетное очень малыми силами и при почти полном отсутствии знаний/образования/ресурсов... .... Вот поэтому и "не сделать на нормальной СУБД". Используйте LightSwitch. Кривая вхождения как у аксеса. Но по крайней мере СУБД нормальная, а не mdb. И не "Викта". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:37 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПНе будет же он шерстить все рабочие станции на предмет полного соответствия ихних локальных данных. Вот именно что будет. Чуть пониже она прямым текстом написала, что админ будет обходить рабочие станции в поисках той, у которой последний номер транзакции максимален. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 17:44 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемА можно поподробнее? Это как без лога транзакционную целостность контролировать? вот так: http://www.ibase.ru/devinfo/mga.htm Dimitry Sibiryakovрабочие станции в поисках той, у которой последний номер транзакции максимален. получается, что после сбоя все рабочие станции должны быть доступны, иначе даже в автоматическом режиме нельзя будет узнать, "кто был жив последним". Если же такая станция будет недоступна, и появится в доступности через некоторое после возобновления общей работы время, то получится ... фиг знает что получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 18:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛПНе будет же он шерстить все рабочие станции на предмет полного соответствия ихних локальных данных. Вот именно что будет. Чуть пониже она прямым текстом написала, что админ будет обходить рабочие станции в поисках той, у которой последний номер транзакции максимален. Да, уже прочитал. Но ведь это не всегда возможно. Рабочие станции могут быть недоступны. Тоже могут выйти из строя. Или просто напросто по окончанию рабочего дня бухгалтер нажал на кнопку "сохранить", нажал на кнопку "выйти", нажал на кнопку "выключить", закрыл ноутбук, сунул его подмышку, и ушёл домой. Вместе с последними данными (транзакциями нумер 5, 6, 7). Которые ушли на сервер. Который тут же и умер. Не успев отправить бродкасты всем остальным. В отсутствии бухгалтера админ пробежал по доступным рабочим станциям, выяснил, что последние зафиксированные транзакции везде за нумером 4, и сделал одну из станций новым сервером. "Ты будешь нашим королём, ла-ла-ла, ла-ла-ла..." Что будет с бухгалтерскими транзакциями завтра, когда он придёт, и включит ноутбук? Ему повалятся транзакции за номерами 5, 6, 7, 8, 9, ...., стопиццот. Из которых часть у него уже имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 18:21 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Да не в этом суть - можно обойти станцию, или нет... суть в том, что бы на сайт, указанный в старт-посте заходили люди... по моему. Реклама то есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 18:36 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!интересующаяся_мнениемИ еще момент: далеко не каждый магазин средней паршивости может позволить себе даже SQL Server, не говоря уж об Oracle... оракл и мсскл имеют бесплатные варианты своих субд с орграничением в 10 гб на датафайлы. совершенно очевидно, что ваш фреймворк 10 гб базу просто не потянет, а на паре гб проиграет этим субд по производительности катастрофично. По чистой производительности если сравнивать скорость чтения/записи отдельно взятого пользователя - не сомневаюсь. Насчет чтения - стопудово. Запись... да скорее всего тоже. Вот чего я нефига не могу понять: почему комплекс, написанный на этой базке, которая вроде бы такая примитивная, обслуживая задачи того же класса, что и все наши промышленные бухгалтерские системы, сидящие на этих самых реляционных СУБД (1C - Mssql, Парус - Oracle), и автоматизируя кучу всевозможных рассчетов, которые эти системы не автоматизируют, имеет: размеры базы сильно ниже, скорости обработки существенно выше. В чем тут дело? Мне думается что тут играет следующее: их совершенно безумные структуры в базе (очень широкие и разреженные таблицы), как следствие - существенно меньше джойнов по таблицам. Так же из этих структур данных и того факта, что чтение ведется только с клиентов в однопользовательском режиме, вопрос замедления производительности именно при многопользовательской работе и именно при решении задач бухгалтерии, вообще не стоит. Тот же 1С уже при нескольких пользователях начинает сильно страдать (здесь пусть меня поправят 1С-ники если это не так) и, мне думается, это связано как раз с возникающими блокировками. Хотя может и нет. А здесь блокировок как таковых нет, - соответственно нет и лишних ожиданий при изменении данных, - как-то так.... Так вот, - казалось бы: ну повтори ты свою безумную структуру в реляционной БД и повесь на триггера все вычисления, которые ты сейчас делаешь у себя, чтобы на лету считать агрегаты. Ну потеряешь ты историчность, а в остальном это должно летать как минимум не хуже. Но вот так эти задачи почему-то никто так не реализует... Городят кучу доп. структур для хранения метаданных, динамических параметров и т.п. А разработчики Викты в таких случаях не парятся и просто хреначят в таблицу, к примеру, счетов, очередной аттрибут и все. И вот тут мне как раз хочется услышать тех, кто сам писал учетные системы ну или близко с ними знаком: почему строят кучу доп. таблиц для метаданных и делают динамические параметры на EAV, к примеру или наследуемых таблицах? Почему это нельзя сделать проще именно в стандартной реляционной базе? Что мешает? Ну понадобился тебе очередной аттрибут - ну сделай ты alter table и вот тебе под него место. Почему так нельзя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 23:13 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)В таком случае пугают задекларированные полтора землекопа 2.5 разработчика Меня тоже, но это не технический вопрос, соответственно выходит за рамки обсуждения здесь. Его я параллельно отслеживаю. Gluk (Kazan)Ну и нишевость: 1. Убедить 1C пользоваться этим вряд-ли удастся 2. Написать что-то таким ресурсом конкурирующее с 1C на его же поле - нереально Дык, тем интереснее. Если нечто очень монопольно, кто сказал, что сюда нельзя влезть совсем-совсем? :) По п.1. - Убедить 1С пользоваться никто и не собирается По второму пункту - ну так написано же, - в предыдущей версии, я сейчас имею в виду список учетных задач. И именно с такими ресурсами, так что все это можно перенести и на новую версию, особенно если ресурсы-таки будут расширены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 23:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)интересующаяся_мнениемпропущено... Ок, давайте с отдельным девайсом. Но при этом: 1. Это никак не изменит того факта, что сама процедура записи в этот конкретно лог, лежащий на одном девайсе для 1000 пользователей, пожелавших одновременно совершить какие-то операции, должна происходить последовательно. ... вот тут сказали что есть системы без лога транзакций. Мне как-то все время приходилось сталкиваться только с теми что лог ведут... интересно как в таких системах этот момент организован. 2. Допустим у вас транзакция обновляет две разные таблицы и соотв. обновляется лог транзакций. Данные - на одном девайсе, лог - на другом. Получается что вам нужно: сделать две записи в лог, и здесь головка не дернулась. Сделать две записи в два разных файла и здесь головка дергается. В целом - три операции записи. В Викте отдельного лога нет, - только файл данных. Соответственно имеем на это же всего две записи без дерганий головки. 1. Да, commit-ы сериализуются, но файл пишется последовательно, что значительно быстрее рандомной записи 2. Файлы данных обновляются в фоновом режиме, эта запись НЕ сериализуется 3. Да, есть РСУБД без логов транзакций IB и его клоны. Там сам файл данных по сути лог По п. 1 и 2 - соглашусь. По П.3 А! Ну так здесь похожая ситуация получается: данные, они же - лог, и файл пишется последовательно, что, как вы заметили, значительно быстрее рандомной записи. Так что примерно один в один, получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 23:33 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемфайл пишется последовательно, что, как вы заметили, значительно быстрее рандомной записи. Не факт. Про индексы я уже сказал. Могу добавить по запись данных, не выровненных на границу блока. Впрочем, я это тоже уже сказал... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 23:42 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемПо размерам - файл индекса на практике примерно равен файлу данных. Если он лежит на том же диске, то при получении транзакции сервер должен: 1) записать её в основной файл 2) записать ссылки на неё в файл индексов по числу индексов, определённых для данного типа записи. Т.е. никакой последовательной записи уже не получается. Получается стандартный рандомный доступ и головки бегают туда-сюда. Насчет основного файла - пишем же в конец. Если данные и индексы разложить по разным дискам... Если нет дисков, - соглашусь, - получается так. Насчет индексов встречный вопрос: но ведь в РСУБД тоже нужно обновить индексы при внесении/обновлении записи?... --интересующаяся_мнениемУ меня ответный вопрос про "одним чтением". А физически - это как? К примеру - вот у вас таблица в сотню тысяч записей. Откуда вы вот так вот сразу узнаете в каком месте таблицы находится искомая запись? Если известен идентификатор записи (db_key, rowid), то он включает в себя адрес страницы на которой она лежит. Если идентификатор неизвестен, тогда как обычно - требуется пробежаться по индексу для его получения. После чего - читается нужная страница. Никаких отличий от Вашей схемы, не считая выровненности страниц по кластерам/секторам диска, что ускоряет их чтение. Сенькс. Про страницы и выровненность знала, про rowid - нет. Конечно в Викте таких наворотов в зоопарке нет, здесь у них все существенно тупее. Что собственно и объясняет медленное чтение по сравнению с классической РСУБД. Обновление видимо тоже медленнее пойдет, ибо прочитать сначала надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 23:45 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, 1с и парус делали такие же динозавры, что и ваш фреймворк. изначально 1с проектировался под фокспро и потом, когда эксплуатировать эту хрень стало уже невозможно из-за убогости файл-серверной архитектуры, 1с портировался на SQL. но суть там и осталась уёбищной. к сожалению наш мир не совершенен и кривой архитектурно 1с стал коммерчески успешным. в общем то, что 1с кривой и через анус работает в реляционной среде не говорит о том, что фреймворк хоть в чем то лучше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2011, 23:52 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением Очень интересует ваше мнение о строении БД, особенности которой описаны вот здесь Написал Administrator ...уникальную возможность, полностью отсутствующую в любых других имеющихся СУБД : получение полностью консистентного состояния базы на любой заданный момент времени в исторической перспективе.Написал Administrator просто не в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 00:21 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Yo.!интересующаяся_мнением, 1с и парус делали такие же динозавры, что и ваш фреймворк. изначально 1с проектировался под фокспро и потом, когда эксплуатировать эту хрень стало уже невозможно из-за убогости файл-серверной архитектуры, 1с портировался на SQL. но суть там и осталась уёбищной. к сожалению наш мир не совершенен и кривой архитектурно 1с стал коммерчески успешным. в общем то, что 1с кривой и через анус работает в реляционной среде не говорит о том, что фреймворк хоть в чем то лучше.тут дело не несовершенстве мира, на мой взгляд для коммерческого успеха важна не столько архитектура, сколько хорошая поддержка да, язык 1С не особо декларативен и надо писать и писать тексты чтобы чего-то полноценное сделать но если есть армия дешевых разработчиков, документация, программы обучения - так ли важна архитектура? так ли важно что операционист будет ждать 10 сек, а не одну, но зато он работает со знакомой системой, его не надо предварительно месяц учить? т.е. при всей бредовости предложенной архитектуре, я бы не сказал что это самая большая проблема, я бы вообще это проблемой на данном этапе не считал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 00:39 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperYo.!интересующаяся_мнением, 1с и парус делали такие же динозавры, что и ваш фреймворк. изначально 1с проектировался под фокспро и потом, когда эксплуатировать эту хрень стало уже невозможно из-за убогости файл-серверной архитектуры, 1с портировался на SQL. но суть там и осталась уёбищной. к сожалению наш мир не совершенен и кривой архитектурно 1с стал коммерчески успешным. в общем то, что 1с кривой и через анус работает в реляционной среде не говорит о том, что фреймворк хоть в чем то лучше.тут дело не несовершенстве мира, на мой взгляд для коммерческого успеха важна не столько архитектура, сколько хорошая поддержка да, язык 1С не особо декларативен и надо писать и писать тексты чтобы чего-то полноценное сделать но если есть армия дешевых разработчиков, документация, программы обучения - так ли важна архитектура? так ли важно что операционист будет ждать 10 сек, а не одну, но зато он работает со знакомой системой, его не надо предварительно месяц учить? т.е. при всей бредовости предложенной архитектуре, я бы не сказал что это самая большая проблема, я бы вообще это проблемой на данном этапе не считал Тут вынуждена с вами согласиться почти по всем пунктам, но это ведь и правда уже нетехнический вопрос. Проблема ведь в чем. Вот вы говорите, что 1С и Парус написаны ну эээ.... через одно место. Так ведь это же вызывает естественный вопрос: почему же до сих пор никто не решился и не смог создать нормальное решение? Ведь бухгалтера осознают кривизну этих решений, и на всяких их собраниях этот вопрос регулярно встает. Да, я понимаю, монополия будет давить и будут работать все те механизмы, о которых вы сказали (армия дешевых разработчиков, документация, обучение.... ). Но должно же было за эти годы появиться хоть что-нибудь некривое... хоть где-то вылезти? Почему этого не происходит? Не получается написать или не пытаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 01:02 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperт.е. при всей бредовости предложенной архитектуре, я бы не сказал что это самая большая проблема, я бы вообще это проблемой на данном этапе не считал Т.е. ваш вердикт - архитектура бредовая, но на данном этапе это проблемой не является, а посему - может жить? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 01:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПочему этого не происходит? Не получается написать или не пытаются? Потому что между решениями "для собственного пользования" и тиражируемыми - дистанция огромного размера. Первые работают и не светятся. Стать вторыми им не светит. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 01:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемSergSuperт.е. при всей бредовости предложенной архитектуре, я бы не сказал что это самая большая проблема, я бы вообще это проблемой на данном этапе не считал Т.е. ваш вердикт - архитектура бредовая, но на данном этапе это проблемой не является, а посему - может жить? :)кто я такой чтобы давать вердикт? если Вы говорите что есть 200 установок (я лично думаю что на самом деле на порядок меньше) - то оно уже живет но только надо понимать что не столько живет, сколько доживает интересующаяся_мнениемПроблема ведь в чем. Вот вы говорите, что 1С и Парус написаны ну эээ.... через одно место. Так ведь это же вызывает естественный вопрос: почему же до сих пор никто не решился и не смог создать нормальное решение? например частота тока у нас в сети 50 Гц, хотя сейчас пришли к выводу что оптимально было бы 400 - например в самолетах, в военной технике такой ток используют резко сократились бы размеры транформаторов, двигателей а вот за 100 лет никак перейти не смогли груз уже сделанного сильно мешает но вроде как 1С 8-й версии уже написано не совсем через это место, т.е. что-то меняется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 01:24 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемТут вынуждена с вами согласиться почти по всем пунктам, но это ведь и правда уже нетехнический вопрос. Проблема ведь в чем. Вот вы говорите, что 1С и Парус написаны ну эээ.... через одно место. Так ведь это же вызывает естественный вопрос: почему же до сих пор никто не решился и не смог создать нормальное решение? Ведь бухгалтера осознают кривизну этих решений, и на всяких их собраниях этот вопрос регулярно встает. Да, я понимаю, монополия будет давить и будут работать все те механизмы, о которых вы сказали (армия дешевых разработчиков, документация, обучение.... ). Но должно же было за эти годы появиться хоть что-нибудь некривое... хоть где-то вылезти? Почему этого не происходит? Не получается написать или не пытаются? В т.ч. потому, что фискальные органы принимают электронные документы в формате 1С. И этот формат, со всеми его особенностями, таки надо поддержать. Пока он востребован внешними подсистемами. А там, вероятно, есть некоторые ньюансы (я в этом вопросе дилетант, кто поправит - скажу спасибо). Таракан - одно из самых древних существ. Природа создавала и более совершенные существа, но он все еще тут... т.е. при всей бредовости предложенной архитектуре, я бы не сказал что это самая большая проблема, я бы вообще это проблемой на данном этапе не считал Золотые слова.... Программист - предоставляет бизнесу сервис... это обслуживающее лицо, глубоко вторичное... и наши любимые игры в "архитектуру" бизнесу перпендикулярны и фиолетовы... Они не фиолетовы нам - хочется эстетики. Красоты... это да. Поэтому вопрос о том, какой движок данных зашит в систему... Главное - что б не слишком одиозный. Совместимый с другими системами, открытый для интеграции. Приведенный тут движок не совместим даже с ODBC ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 10:32 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛП, Спасибо большое за ваши сценарии и поднятые вами вопросы. Они заставили меня обратиться к разработчику. Ответ по сценарию "Что будет, если сервером назначат станцию с не самым большим номером последней транзакции". Ответ, - они сообщат об ошибке про неконсистентность базы и не будут работать. Таблетка: откатить состояние базы до нужного номера транзакции. Для этого есть предусмотренные админ. средства: просто тыкаешь мышкой в транзакцию с нужным номером в списке. Индексы откатываются тоже. Ответ по сценарию "Что будет, если сошедший с ума клиент начнет засыпать транзакциями на изменение данных сервер". Ответ - да, как вы и предположили, лягут все - и сервер и сеть и все клиенты. Спасибо еще раз - вы показали самые слабые места такой архитектуры. Спасибо так же и всем, кто принял участие в этой дискуссии. Мне есть над чем подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 11:45 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемОтвет, - они сообщат об ошибке про неконсистентность базы и не будут работать. Сорри за не слишком внятный текст. Здесь "Они" - это клиенты, номер транзакции которых выше, чем на сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 11:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, Собственно, бредовая была сама мысль интересоваться недостатками файл-серверной объектной СУБД на форуме, где живут оголтелые любители реляционок и нормализации ))) А так - небольшие системы все прожуют. Не зря же в 1С 8, сделали свой новый файловый механизм БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 12:15 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SiemarglСобственно, бредовая была сама мысль интересоваться недостатками файл-серверной объектной СУБД на форуме, где живут оголтелые любители реляционок и нормализации ))) Ты как-то неподумав противопоставил фсякие там реляционные нормализации и файл-серверную архитектуру. Эти понятия не то что бы не противопоставляются, а просто напросто лежат на разных осях координат. Ульянов-Ленин - это один человек, а не два. Карл Маркс и Фридрих Энгельс - два человека, а не четыре. А Слава КПСС - вообще не человек. Это во-первых. Во-вторых. Обсуждаемая СУБД как бы вовсе и не файл-серверная. Это помесь. С миру по нитке (в итоге мёртвому припарки). Понадёргали всяких умных слов из книжек, и свалили всё в одну кучу, нисколько не заботясь о том, будет ли жизнеспособным сей гибрид, или одна фича будет кровь сворачивать другой фиче. Наверное, в те времена, когда начинали разрабатывать чудо-СУБД, еще не придумали BitTorrent. А то можно было бы ожидать, что файло с данными по пирам раскидано кусочно, и нужные данные вытягиваются одновременно отовсюду :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 14:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемОтвет по сценарию "Что будет, если сервером назначат станцию с не самым большим номером последней транзакции". Ответ, - они сообщат об ошибке про неконсистентность базы и не будут работать. ... "Они" - это клиенты, номер транзакции которых выше, чем на сервере Пардон, а как "они" об этом узнают то? Если в тот момент, когда сервером назначали какую-то машину (неправильную), "они" (кандидаты в "правильные") были выключены, а в тот момент, когда "они" включились - номер транзакции на сервере уже стал больше? На всех машинах (включая сервер) максимальный номер транзакции 4, бухгалтер сделал транзакцию номер 5, отправил на сервер, выключился. Сервер умер, не успев оповестить всех остальных. Выбрали новый сервер (с последней транзакцией за номером 4). С точки зрения всех наличествующих машин - всё хорошо. Все работают. Сделали транзакции номер 5, 6, 7. Бухгалтер включил компьютер. На сервере последняя транзакция за номером 7, у него же последняя транзакция за номером 5. Ну так и вытянет он к себе транзакции за номером 6, 7. По каким таким признакам он сумеет распознать "неконсистентность базы"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 15:12 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛП По каким таким признакам он сумеет распознать "неконсистентность базы"? Упс... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 16:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛП... Бухгалтер включил компьютер. На сервере последняя транзакция за номером 7, у него же последняя транзакция за номером 5. Ну так и вытянет он к себе транзакции за номером 6, 7. По каким таким признакам он сумеет распознать "неконсистентность базы"?я так понимаю что база всегда консистентная, просто у всех остается база на разное время ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Цитата от разработчика: "Я не признаю систему, которую можно выключить централизованно. В живом мире система должна сохранять признаки жизни, даже если более 50% ее уничтожено". На эту тему, разработчики очень любят рассказывать байку о том, как у них в лихие девяностые тупо поперли все компы, на которых была установлена их бухгалтерия. База сохранилась на компе в соседней комнате, до которого не добрались :) Как вам такая точка зрения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:03 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuper.ЛП... Бухгалтер включил компьютер. На сервере последняя транзакция за номером 7, у него же последняя транзакция за номером 5. Ну так и вытянет он к себе транзакции за номером 6, 7. По каким таким признакам он сумеет распознать "неконсистентность базы"?я так понимаю что база всегда консистентная, просто у всех остается база на разное время Не, там действительно дырка. У этого клиента пятая транзакция останется от "предыдущей жизни" сервера, а шестая и седьмая пойдут уже после "возрождения" сервера. Альтернативная реальность, так сказать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемтупо поперли все компы... Поперли - в смысле у одного из клиентов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:07 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
2 SergSuper я так понимаю что база всегда консистентная, просто у всех остается база на разное время Нет. На одном компе "своя" транзакция №5 (5а), и дальнейшие 6, 7, и т.д. На других компах "другая" транзакция №5 (5б), и дальнейшие 6, 7, и т.д. Причём 6, 7, и т.д. могут зависить от 5б. Которая на одном из компов получилась не 5б, а 5а. И этот комп в один прекрасный момент возьмёт и сервером станет, распространив на новых клиентов несогласованную информацию. И никто об этом не узнает, пока жареный петух в жопу не клюнет. --------------------------- 2 интересующаяся_мнением Цитата от разработчика: "Я не признаю систему, которую можно выключить централизованно. В живом мире система должна сохранять признаки жизни, даже если более 50% ее уничтожено". На эту тему, разработчики очень любят рассказывать байку о том, как у них в лихие девяностые тупо поперли все компы, на которых была установлена их бухгалтерия. База сохранилась на компе в соседней комнате, до которого не добрались :) Как вам такая точка зрения? Цитата от другого разработчика: "Неважно, насколько быстро работает ваша программа, если она работает неправильно". Это конечно хорошо, если даже при выходе из строя 50% системы она продолжает жить. Но у вас то она не продолжает жить (а только "признаки жизни сохраняет") - при выходе из строя всего-лишь двух компутеров ("сервера" и последнего "клиента"). Что до сохранения базы на компутере, который в лихие девяностые не нашли - хосспадя, делайте бекапы на сервер в Алабаме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:33 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛП2 SergSuper я так понимаю что база всегда консистентная, просто у всех остается база на разное время Нет. На одном компе "своя" транзакция №5 (5а), и дальнейшие 6, 7, и т.д. На других компах "другая" транзакция №5 (5б), и дальнейшие 6, 7, и т.д. Причём 6, 7, и т.д. могут зависить от 5б. Которая на одном из компов получилась не 5б, а 5а. И этот комп в один прекрасный момент возьмёт и сервером станет, распространив на новых клиентов несогласованную информацию. И никто об этом не узнает, пока жареный петух в жопу не клюнет. тут еще вопрос что у них транзакцией считается возможно что транзакция должна подтверждаться(и нумероваться) сервером и тогда 5-я транзакция может быть только на одном компьютере вобще странно что самим разработчикам не снизойти до прямого общения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperтут еще вопрос что у них транзакцией считается возможно что транзакция должна подтверждаться(и нумероваться) сервером и тогда 5-я транзакция может быть только на одном компьютере Ещё раз. Клиент создал транзакцию. Отправил её на сервер. Сервер её пронумеровал (№5). Подтвердил клиенту, дескать всё ок, транзакцию принял, ща буду её всем бродкастить. Клиент выключился. Сервер умер. Новый сервер (из числа живых клиентов) будет нумеровать с номера 5. Включившийся завтра клиент откуда будет знать, что его транзакция №5 - она совсем не та, что №5 у нового сервера? З.Ы. Кстати.... бродкасты они такие бродкасты... через маршрутизатор то они хоть пролезут, эти бродкасты? Или архитектура системы форсирует использование строго в одном сегменте локальной сети, без никаких маршрутизаторов? Дык таких ограничений на себя не накладывают даже файл-серверные системы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 17:59 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПSergSuperтут еще вопрос что у них транзакцией считается возможно что транзакция должна подтверждаться(и нумероваться) сервером и тогда 5-я транзакция может быть только на одном компьютере Ещё раз. Клиент создал транзакцию. Отправил её на сервер. Сервер её пронумеровал (№5). Подтвердил клиенту, дескать всё ок, транзакцию принял, ща буду её всем бродкастить. Клиент выключился. Сервер умер. Новый сервер (из числа живых клиентов) будет нумеровать с номера 5. Включившийся завтра клиент откуда будет знать, что его транзакция №5 - она совсем не та, что №5 у нового сервера? возможно подтверждение клиенту приходит как раз с этим бродкастом но вобще да, какая-то вероятность получить что-то нехорошее существует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 18:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛП, Ну не сгущайте краски-то так :) На самом деле не все так страшно, как вы описываете. То что описываемый вами сценарий - дыра, - да. Это признаю и я и разработчик. Закрыть эту дыру не сложно, и это будет сделано. Если же смотреть на реальность - вероятность подобного сценария крайне мала: ведь вы же смотрите ситуацию, когда у вас сервак сгорел в состоянии, успевшем принять последнюю транзакцию и успевшим разослать ее на клиентов таким образом, что она дошла не до всех, а только до части клиентов... т.е. с сетью тоже что-то произошло (бродкастом же слали, даже если сервак сдох успев отправить - пакеты-то дойдут). При этом одновременно_с_этим вы вырубаете из сети клиента, получившего эту последнюю транзакцию. Извините меня, но вероятность возникновения такой ситуации..... оооо... Что касается выживания системы при уничтожении 50% входящих в нее компов и больше, - да нет, - она не просто будет жить кое-как. Она именно будет жить совершенно нормально и потеряет.. ну разве что последние секунды/максимум - минуты данных. И это при том, что никакого админа нет и никто ни за какими бэкапами не следит и резервных серверов не ставит. Собственно это я и имела в виду, когда говорила в статье об "естественной отказоустойчивости": у вас система выживет и будет обладать почти всеми данными, если жив окажется хотя бы один комп. Если уж говорить об отказоустойчивости, давайте рассмотрим вариант обеспечения отказоустойчивости в конторке средней паршивости с приходящим/удаленным админом. (Я намеренно не беру всевозможные системы типа оракловых кластеров, зеркалирования дисковых массивов и т.д. и т.п. Это другой уровень администрирования и другие деньги. Мы сейчас о массовом сегменте с малыми и средними предприятиями, на которые, как раз и рассчитан данный фреймворк со своей базой и архитектурой.) Чего там максимум будут делать? Максимум, - это регулярные бэкапы и складывание их куда-нибудь. Соответственно, имеем: сервак сгорел. Если лог жив, то мы восстанавливаемся из бэкапа, накатываем лог имеем все закоммиченные транзакции на сервере. В момент выполнения операции сотрудники курят. На процедуру уходит некоторое время, но в принципе - все живо. А если лог помер? В этом случае мы имеем данные только до момента бэкапа, который, при хорошем раскладе делается ну, раз в день, т.е. имеем день потерянной работы. А часто бэкап не делается вообще... Ну и кто тут окажется в дураках в ситуации "сервак сгорел"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 18:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperвобще странно что самим разработчикам не снизойти до прямого общения За разработчика - извиняюсь, - с терминологией сложности... Вот и приходится работать переводчиком :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемПри этом одновременно_с_этим вы вырубаете из сети клиента, получившего эту последнюю транзакцию. Извините меня, но вероятность возникновения такой ситуации..... оооо... Очень велика. Конец месяца, сотрудник остаётся после всех чтобы добить пачку накладных. Уходя, он выключает всё и на следующий день наслаждается заслуженным отгулом. Но сервер при попытке включения сгорает. Всё, приехали. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Убедили :) Ну признали уже эту дыру, признали. Будет устранена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Да и хрен с ними, катастрофическими сценариями... Скажите лучше: я правильно понял, что в индексах хранятся ссылки только на самые свежие версии записей? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:12 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемУбедили :) ... Но сервак должен сгореть так, что именно диск с файлом данных порушится... а сотрудник увезти комп(ноутбук) с последними вбитыми накладными с собой домой в свой заслуженный отгул.. а, ну и конечно никто не знает о том, что он вчера оставался последним чтобы добить пачку накладных :) ... Это я так, - отмазываюсь :-ь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:16 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Нет, на все версии. На системном уровне они видны. На уровне пользователя - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
2 интересующаяся_мнением ведь вы же смотрите ситуацию, когда у вас сервак сгорел в состоянии, успевшем принять последнюю транзакцию и успевшим разослать ее на клиентов таким образом, что она дошла не до всех, а только до части клиентов... т.е. с сетью тоже что-то произошло (бродкастом же слали, даже если сервак сдох успев отправить - пакеты-то дойдут). При этом одновременно_с_этим вы вырубаете из сети клиента, получившего эту последнюю транзакцию. Да при чём тут одновременно или неодновременно? Бухгалтер сидел до полуночи, считал зарплату сотрудникам. В полночь сохранил. Час посмотрел порнуху. За это время получил все возможные бродкасты и нотификации. Потов выключил комп. В три часа ночи сгорел сервак. В восемь утра пришли сотрудники и повключали свои компы. Гды вы видите "одновременно"? Извините меня, но вероятность возникновения такой ситуации..... оооо... Вы что там, вероятностным программированием занимаетесь? :) Транзакция закоммитилась с вероятностью 86.9%. Программист получит зарплату именно с этой вероятностью. Что касается выживания системы при уничтожении 50% входящих в нее компов и больше, - да нет, - она не просто будет жить кое-как. Она именно будет жить совершенно нормально и потеряет.. ну разве что последние секунды/максимум - минуты данных. Понимаете ли, одно дело - потерять какие-то данные. Плохо, да. Но от этого никто не застрахован на сто целых ноль десятых процентов. Всегда есть шанс потерять часть данных. Иногда большую, иногда меньшую. Можно потерять 100% данных. Можно потерять 0.000001% последних данных. Но речь то про консистентность. Её можно потерять только всю. Нельзя быть на 86.9% консистентным. Точно так же как нельзя быть немножко беременной. За разработчика - извиняюсь, - с терминологией сложности... Вот и приходится работать переводчиком :) Не моё собачье дело, конечно, но... Зачем вам такой разработчик, у которого даже с терминологией проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:19 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛП, Я уже сказала, что относительно этой дыры я не спорю. Конечно здесь консистентность разрушается и это дело нужно устранять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 19:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением.ЛП, Я уже сказала, что относительно этой дыры я не спорю. Конечно здесь консистентность разрушается и это дело нужно устранять. А зачем? Зачем это дело нужно устранять? Как мне кажется - незачем. Не нужно это (обсуждаемую СУБД) лечить. Нужно это (обсуждаемую СУБД) выкидывать. Целиком и полностью. Плюсов то нету у СУБД по сравнению с другими. Вообще никаких нету. Оно отстало от жизни навсегда. Догнать не получится. Ни силами двух с половиной землекопов, ни силами двадцати пяти. Есть какой-то там фреймворк, кусочки кода, формочки, кнопочки, бухгалтерские проводочки? Ну и хорошо. Избавить двух с половиной землекопов от проблем с терминологией, купить им книжку, и научить их сохранять всё это в любую современную СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2011, 22:33 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениеминтересующаяся_мнениемОтвет, - они сообщат об ошибке про неконсистентность базы и не будут работать. Сорри за не слишком внятный текст. Здесь "Они" - это клиенты, номер транзакции которых выше, чем на сервере. Не сообщат "они" ничего. Они тупо будут не в курсе, что бухгалтер унес домой 4,5 и 6 и радостно согласятся, что да их номер 3 самый последний А вот когда бухгалтер на следующий день придет ... то да, лягут все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 08:52 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЦитата от разработчика: "Я не признаю систему, которую можно выключить централизованно. В живом мире система должна сохранять признаки жизни, даже если более 50% ее уничтожено". На эту тему, разработчики очень любят рассказывать байку о том, как у них в лихие девяностые тупо поперли все компы, на которых была установлена их бухгалтерия. База сохранилась на компе в соседней комнате, до которого не добрались :) Как вам такая точка зрения? Разработчик - социопат, держитесь от него как можно дальше. Собственно вот эти "я не признаю" можно выслушивать от БГ, Ларри Элиссона и т.п. (отдавая себе отчет в том, что этим социопатам крайне повезло в жизни и их продуктами можно пользоваться на свой страх и риск, до некоторой степени успешно, за счет развитого community), но выслушивать такое от автора продукта внедренного (пусть даже в 200) мест, это все равно что продать душу неизвестно кому. В итоге весь ваш бизнес будет зависеть исключительно от его злой воли :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 09:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, возможно, Вам луче зайти в разде другие СУБД. Там уже целых две типа новых СУБД. Там, может быть, их авторы окажут Вам поддержку какую-никакую на данном этапе противостоянии известным СУБД. А уже потом, када Вы преодолете все старые СУБД, Вы с теми двумя, вероятно, разберетесь как нибудь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 10:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением.ЛП, Ну не сгущайте краски-то так :) На самом деле не все так страшно, как вы описываете. То что описываемый вами сценарий - дыра, - да. Это признаю и я и разработчик. Закрыть эту дыру не сложно, и это будет сделано. Да ну? И как будете закрывать??? Опишите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 10:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 29.08.2011 2:15, интересующаяся_мнением wrote: "В БД "Викта" проблема блокировок отсутствует как класс по причине их отсутствия. При этом база гарантирует целостность и консистентность данных на любой момент времени. Для того, чтобы понять, как это происходит и проявить суть различий, нужно несколько глубже углубиться в принципы работы этой БД." Такого не бывает. Все СУБД либо используют блокировки хотя бы где-то, либо имеют несериализуемые транзакции (т.е. нарушение целостности БД). Соответственно, либо у вас есть блокировки, либо у вас есть wormhole-ы и несериализуемые транзакции. И то, и другое, в общем, не обязательно плохо. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 10:40 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Не сообщат "они" ничего. Они тупо будут не в курсе, что бухгалтер унес домой 4,5 и 6 и радостно согласятся, что да их номер 3 самый последний. А вот когда бухгалтер на следующий день придет ... то да, лягут все Никто там не ляжет. Когда бухгалтер придет на следующий день, если к моменту старта его машины у него номер локальной транзакции будет выше, чем на сервере - ему дадут отлуп и велят откатить транзакции. Если номер выше, - данные конкретно на его машине начнут писаться дальше. У него 4,5, 6 будут альтернативными, - это да, и это есть дыра на данный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 10:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
vadiminfo, Спасибо за мысль, возможно следует и туда заглянуть :) Я как-то рассматривала в контексте сравнения в основном с классическими РСУБД, - это, так сказать, главный акцент сравнения. Но взглянуть на вопрос чуть шире тоже не помешает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 29.08.2011 3:18, интересующаяся_мнением wrote: > Второй момент, касается задач, на которые ориентирована СУБД. Сейчас в мире > приходит понимание того, что классический реляционный подход не всегда идет на > пользу решаемых задач, посему начали придумывать всяческие отхождения от > стандарта: in-memory, с поколоночным хранением, вообще объектно-ориентированные. > Раз они существуют, значит это кому-нибудь нужно? Вы видимо слабо понимаете, о чём говорите. Ни одно из вышеперечисленных вами "нововведений" не противоречит ни стандратру (ANSI SQL), ни реляционному подходу. > клиент-сервер. Но есть ощущение, что она гибче, и легче позволяет решать > некоторые задачи. В основном учетные: когда у вас не много пользователей (30 > бухгалтеров - это и правда много) и при этом довольно много всевозможных сложных > рассчетов. А структуры данных приходится строить такие, что черт ногу сломит. > Вот где-то здесь она и начинает играть, по моим ощущениям. А думаете обычные реляционные СУБД такие задачи не решают ? Или плохо их решают ? Для современных РСУБД актуальна задача хорошей оптимизации сложных SQL-запросов. Вот решите эту задачу -- будет вам счастие. > К примеру, насколько я понимаю ситуацию, за счет того, что у них нет жесткого > описания структуры атрибутов в таблице, они создают одну таблицу, к примеру, для > каталога товаров, и пихают в нее все что только душе заблогарассудится: колбаса, > значит колбаса, автомобиль, значит автомобиль. И никих вам EAV и наследуемых > таблиц... В итоге, максимальное кол-во таблиц которое им приходилось решать для > конкретной учетной задачи - 200. Оптимизировать количество таблиц в реляционной СУБД -- это конечно достоойнейшая задача. (это сарказм, если ещё кто не понял). Обычно гораздо меньше. В других подобных > системах, как я понимаю, они считаются тысячами. Ну и что в этом плохого ? Кол-во таблиц вообще-то диктуется тем, какие данные обрабатываются и какие предметные области охватываются деятельностью данной БД. Чем шире охват, тем больше таблиц. Ничего плохого в том, что их много, нет. У нас в БД их напр. более 2 тысяч. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
[quot Gluk (Kazan)]интересующаяся_мнением.ЛП, Да ну? И как будете закрывать??? Опишите В файле данных всегда есть размер смещения до окончания последней транзакции, ну и время ее пишется. На что-то одно можно завязаться и проверять это при старте клиентской машины: сравнивать инфу по последней транзакции на клиенте с серверной транзакцией с этим же номером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 29.08.2011 3:30, интересующаяся_мнением wrote: > Это довольно очевидный аргумент :) Понятно что дыр в ней потенциально должно > быть больше, чем у других СУБД именно по тем причинам, которые вы описали. Но я > сейчас не рассматриваю возможность построения системы на ней, - я пытаюсь понять > перспективность такого подхода к организации хранения и обработки данных в > принципе. Может я ее развивать хочу :) ну или не я :) Там дыры скорее из-за безграмотности в вопросах организации транзакций. Может быть, это только ваша проблема, а может быть и разработчиков. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:14 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivСоответственно, либо у вас есть блокировки, либо у вас есть wormhole-ы и несериализуемые транзакции. И то, и другое, в общем, не обязательно плохо. Мне тут кто-то подсказывал, что применяемый там механизм называется оптимистической блокировкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:14 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 29.08.2011 4:31, .ЛП wrote: > что подаётся как архитектурные особенности и плюсы - вызывает тихое шевеление > волос на голове. Да, кстати достаточно грамотные замечания, потому что если это бухгалтерия, то там обычно интенсивность работы очень низкая, интенсивность изменений низкая (редко выполняемые операции), а больше нагрузка на запросы чтения, обработка огромных (по тупизне пользователей) массивов данных. В таких конфигурациях именно этот подход не так уж и плох будет по производительности, потому что у каждого -- своя копия БД, можно сказать, распределённая обработка данных получается :-) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемvadiminfo, Спасибо за мысль, возможно следует и туда заглянуть :) Я как-то рассматривала в контексте сравнения в основном с классическими РСУБД, - это, так сказать, главный акцент сравнения. Но взглянуть на вопрос чуть шире тоже не помешает. Так я Вам и не широту, а наоброт именно акцентирование против РСУБД и предлагал искать. Вы вместе с ними акцентируете свой удар по РСУБД, хотя, может быть, и уже взгляните. Все-таки вы как бы типа ветерок, а РСУБД как бы скала огромная. Понимаете? А так в троем Вы уже как бы типа большой ураган, может быть, сформирутете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:32 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZiv> Второй момент, касается задач, на которые ориентирована СУБД. Сейчас в мире > приходит понимание того, что классический реляционный подход не всегда идет на > пользу решаемых задач, посему начали придумывать всяческие отхождения от > стандарта: in-memory, с поколоночным хранением, вообще объектно-ориентированные. > Раз они существуют, значит это кому-нибудь нужно? Вы видимо слабо понимаете, о чём говорите. Ни одно из вышеперечисленных вами "нововведений" не противоречит ни стандратру (ANSI SQL), ни реляционному подходу. Ээээ... вы сейчас про БД Викты или про перечисленные мною примеры? Если про Викту - отсутствие жестко заданной структуры таблиц по-моему никак не вписывается в реляционную модель. Если про примеры - нарушение принципа ACID в in-memory - прямое нарушение стандарта ANSI SQL, а объектно-ориентированная БД вообще к реляционной отношения не имеет... Разве нет? Ну, про поколоночную... соглашусь пожалуй, - только структура хранения самих данных отличается. MasterZiv> клиент-сервер. Но есть ощущение, что она гибче, и легче позволяет решать > некоторые задачи. В основном учетные: когда у вас не много пользователей (30 > бухгалтеров - это и правда много) и при этом довольно много всевозможных сложных > рассчетов. А структуры данных приходится строить такие, что черт ногу сломит. > Вот где-то здесь она и начинает играть, по моим ощущениям. А думаете обычные реляционные СУБД такие задачи не решают ? Или плохо их решают ? Для современных РСУБД актуальна задача хорошей оптимизации сложных SQL-запросов. Вот решите эту задачу -- будет вам счастие. > К примеру, насколько я понимаю ситуацию, за счет того, что у них нет жесткого > описания структуры атрибутов в таблице, они создают одну таблицу, к примеру, для > каталога товаров, и пихают в нее все что только душе заблогарассудится: колбаса, > значит колбаса, автомобиль, значит автомобиль. И никих вам EAV и наследуемых > таблиц... В итоге, максимальное кол-во таблиц которое им приходилось решать для > конкретной учетной задачи - 200. Оптимизировать количество таблиц в реляционной СУБД -- это конечно достоойнейшая задача. (это сарказм, если ещё кто не понял). Обычно гораздо меньше. В других подобных > системах, как я понимаю, они считаются тысячами. Ну и что в этом плохого ? Кол-во таблиц вообще-то диктуется тем, какие данные обрабатываются и какие предметные области охватываются деятельностью данной БД. Чем шире охват, тем больше таблиц. Ничего плохого в том, что их много, нет. У нас в БД их напр. более 2 тысяч. Ну вот смотрите что получается: у вас много таблиц, соответственно, много связей между ними. Соответственно - чтобы вытянуть нужные вам данные вам довольно часто приходится делать сложные запросы, содержащие кучу джойнов между таблицами, а то и вложенных запросов. Это все усложняет обработку. Если все напихано в одну таблицу - по идее - структура упрощается, а соответственно - и запросы тоже. Разве нет? Второй момент: если вы не используете грязное чтение, то при формировании сложных запросов вы начинаете блокировать работу тех, кто хочет записать данные, которые вы читаете, и влетаете в проблему блокировок в итоге (я сейчас не deadlock имею в виду, а просто тормоза). Раве нет? Чем сложнее создаваемая структура и чем более навороченные отчеты приходится мутить - тем актуальнее проблема, - даже если объем данных в общем-то не очень большой. Где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:41 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 29.08.2011 4:31, .ЛП wrote: > что подаётся как архитектурные особенности и плюсы - вызывает тихое шевеление > волос на голове. Да, кстати достаточно грамотные замечания, потому что если это бухгалтерия, то там обычно интенсивность работы очень низкая, интенсивность изменений низкая (редко выполняемые операции), а больше нагрузка на запросы чтения, обработка огромных (по тупизне пользователей) массивов данных. В таких конфигурациях именно этот подход не так уж и плох будет по производительности, потому что у каждого -- своя копия БД, можно сказать, распределённая обработка данных получается :-) О! и я про то! Спасибо большое! Приятно услышать такое именно от вас, - я довольно регулярно читаю ваши посты в других топиках и уважаю ваш профессионализм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivВсе СУБД либо используют блокировки хотя бы где-то, либо имеют несериализуемые транзакции (т.е. нарушение целостности БД). Бред. Блокировки используются именно для того чтобы сериализовать параллельные транзакции (или их части). А у них параллельных транзакций нет. Вообще. Они сериализованы ещё на этапе приёма их из сети. Каждая транзакция имеет монопольный доступ к базе. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 11:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением Если все напихано в одну таблицу - по идее - структура упрощается, а соответственно - и запросы тоже. Разве нет? Нет. Иначе бы все так делали, ить это первое что приходит в голову каждому начинающему. Живой мир не вседа просто трудно затолкать в одну таблицу. Структура БД у Вас упрощается, а структура предметной области (ПО) то остается такой же сложной. У Вас получается несоотвествие структуры БД и ПО. Тут уже не до сложности запросов, тут хоть бы их вообще было ясмно как писать. Ну не говоря уже об ОЦ - нельзянавязать ф-зависимости, избыточность. Т.е. затруднено обеспечение и контроль соотвествия данных ПО. Т.е. даже если и напишите запрос, верить иму трудновато буит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:36 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Ну вот смотрите что получается: у вас много таблиц, соответственно, много связей между ними. Соответственно - чтобы вытянуть нужные вам данные вам довольно часто приходится делать сложные запросы, содержащие кучу джойнов между таблицами, а то и вложенных запросов. Это все усложняет обработку. Если все напихано в одну таблицу - по идее - структура упрощается, а соответственно - и запросы тоже. Разве нет? Второй момент: если вы не используете грязное чтение, то при формировании сложных запросов вы начинаете блокировать работу тех, кто хочет записать данные, которые вы читаете, и влетаете в проблему блокировок в итоге (я сейчас не deadlock имею в виду, а просто тормоза). Раве нет? Чем сложнее создаваемая структура и чем более навороченные отчеты приходится мутить - тем актуальнее проблема, - даже если объем данных в общем-то не очень большой. Где-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:40 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZiv.............. конфигурациях именно этот подход не так уж и плох будет по производительности, потому что у каждого -- своя копия БД, можно сказать, распределённая обработка данных получается :-) Да, а почему бы не хранить "свою копию" в каком-то известном, SQL-совместимом формате? SQLite, интербейс, мускуль? И не сосредоточиться на своем движке синхронизации данных между этими, распределенными по сети узлами? Чем реляционная модель данных мешает решать задачи бухгалтерии? Для разработки под эти движки есть готовые блоки компонент для сред разработки. Люди, которые умеют эти компоненты использовать. Наработанные программистским сообществом типовые решения. И весь этот массив знаний и технологий игнорируется... Красота! Романтика! Свой движок БД, свой язык программирования... со своими глючками и тараканчиками... Уважаю романтиков. Но если от меня будет зависеть - внедрять или не внедрять такого рода самопальную технологию - не подпущу и близко.... аз есьмь ретроград. интересующаяся_мнениемЕсли про Викту - отсутствие жестко заданной структуры таблиц стимулирует в данном случае неупорядоченную, хаотичную разработку. Если она ведется интенсивно... Слишком много соблазнов. Быстро сделать, подкрутить, приляпать. В итоге - слабоподдерживаемый код. К таблице можно приляпать комментарий. К полям таблицы - тоже... Не фонтан - ну хоть какое-то ограничение для буйной фантазии... интересующаяся_мнением , как бы Вы подвели итог дискуссии к этому моменту? Что нового, интересного, неожиданного для Вас прозвучало? На мой взгляд - обсуждение шло вполне предсказуемо.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 12:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемGluk (Kazan)Не сообщат "они" ничего. Они тупо будут не в курсе, что бухгалтер унес домой 4,5 и 6 и радостно согласятся, что да их номер 3 самый последний. А вот когда бухгалтер на следующий день придет ... то да, лягут все Никто там не ляжет. Когда бухгалтер придет на следующий день, если к моменту старта его машины у него номер локальной транзакции будет выше, чем на сервере - ему дадут отлуп и велят откатить транзакции. Если номер выше, - данные конкретно на его машине начнут писаться дальше. У него 4,5, 6 будут альтернативными, - это да, и это есть дыра на данный момент. Лучше бы они легли :) Альтернативные, как Вы их назвываете, данные зачастую гораздо хуже чем останов системы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
[quot интересующаяся_мнением]Gluk (Kazan)пропущено... В файле данных всегда есть размер смещения до окончания последней транзакции, ну и время ее пишется. На что-то одно можно завязаться и проверять это при старте клиентской машины: сравнивать инфу по последней транзакции на клиенте с серверной транзакцией с этим же номером. Это никак не затыкает дыру с данными из "альтернативной" реальности Думайте дальше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЕсли про примеры - нарушение принципа ACID в in-memory - прямое нарушение стандарта ANSI SQL, А с чего вы взяли, что ACID в In Memory нарушается (если явно об этом не попросить)??? интересующаяся_мнениема объектно-ориентированная БД вообще к реляционной отношения не имеет... Разве нет? Нет :) Они ортогональны. Например ООБД может быть построена на РБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:12 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 31.08.2011 12:41, интересующаяся_мнением wrote: Я про примеры. > Если про примеры - нарушение принципа ACID в in-memory - прямое нарушение > стандарта ANSI SQL, Реляционная СУБД не обязана поддерживать ACID-транзакции. Полно РСУБД, которые их не поддерживают. а объектно-ориентированная БД вообще к реляционной отношения > не имеет... Разве нет? Нет. Не совсем. Ну, про поколоночную... соглашусь пожалуй, - только > структура хранения самих данных отличается. СУБД при этом вполне себе реляционная. > Ну вот смотрите что получается: у вас много таблиц, соответственно, много связей > между ними. Это не совсем верный логический посыл. Связей при этом может и вообще не быть. Соответственно - чтобы вытянуть нужные вам данные вам довольно часто > приходится делать сложные запросы, содержащие кучу джойнов между таблицами, а то > и вложенных запросов. Это все усложняет обработку. Это никак не осложняет обработку. Если все напихано в одну > таблицу - по идее - структура упрощается, а соответственно - и запросы тоже. > Разве нет? Нет. > Второй момент: если вы не используете грязное чтение, то при формировании > сложных запросов вы начинаете блокировать работу тех, кто хочет записать данные, > которые вы читаете, и влетаете в проблему блокировок в итоге (я сейчас не > deadlock имею в виду, а просто тормоза). Раве нет? Не всегда, много СУБД сейчас поддерживают MVCC и snapshot isolation. > Чем сложнее создаваемая структура и чем более навороченные отчеты приходится > мутить - тем актуальнее проблема, - даже если объем данных в общем-то не очень > большой. Где-то так. Совсем не так. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:36 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 31.08.2011 12:58, Dimitry Sibiryakov wrote: > Бред. Блокировки используются именно для того чтобы сериализовать параллельные > транзакции > (или их части). А у них параллельных транзакций нет. Вообще. Они сериализованы > ещё на > этапе приёма их из сети. Каждая транзакция имеет монопольный доступ к базе. Ну правильно, но хоть там-то у них обязан быть один большой-большой лок на всю базу данных. За счёт чего сериализация-то происходит ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:38 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 31.08.2011 12:14, интересующаяся_мнением wrote: > Мне тут кто-то подсказывал, что применяемый там механизм называется > оптимистической блокировкой. Ну так есть блокировки-то ? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:40 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivЗа счёт чего сериализация-то происходит ? Мой ХШ утверждает, что пока транзакция не обработана, следующий пакет просто не принимается. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 13:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, может тут уже было, но я вот не понял как без блокировок такие ситуации разруливаются допустим оператор Маша хочет списать со счета 100 руб. Она читает остаток по счету, там 150 руб в это же время оператор Аня с этого же счета хочет списать тоже 100 руб и она также видит что там 150 руб смогут ли они теперь обе списать по 100 руб (при условии что отрицательный остаток недопустим)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 14:34 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Непонятно как обеспечивается оптимизация чтений. Здесь нужен какой-то индекс который должен стать сегментом воистину неподъёмным (почти как этот "рулон" транзакций) для рабочей станции где эта вся богадельня расположена. В тот бред где написано что http://spcomputer.ru/index.php?option=com_content&task=view&id=26&Itemid=37 При этом, поскольку в арсенале пользователя имеются все необходимые агрегаты, необходимое представление информации, как правило, не занимает слишком много времени (максимально длительная по времени задача за всю историю существования комплекса - 2 минуты) я просто не верю. Возможно речь идёт о каких-то сферических отчётах в вакууме. Дайте мне SQL-* консоль к этой Викте и я положу любого клиента в коматоз... Либо речь идёт о смехотворных объёмах. Я участвовал во внедрении одной из самых крупных бухгалтерии баз для *телекомов и вовсе не понаслышке знаю сколько необходимо искать, и какую нагрузку создают обычные SELECT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 15:09 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)интересующаяся_мнением.ЛП, Ну не сгущайте краски-то так :) На самом деле не все так страшно, как вы описываете. То что описываемый вами сценарий - дыра, - да. Это признаю и я и разработчик. Закрыть эту дыру не сложно, и это будет сделано. Да ну? И как будете закрывать??? Опишите Не вижу особенных сложностей. Навскидку - принимая транзакцию 7, клиент должен убедиться, что транзакция 6, которую он отправил на сервер вчера, действительно принята всеми. Как это сделать? Ну, например, дать уникальное имя каждой транзакции, и проверять, что последняя отправленная транзакция у тебя имеет то же имя, что и транзакция за этим же номером на "сервере". При положительном ответе клиент будет знать, что "альтернативная реальность" не возникла, и спокойно примет транзакцию 7. В противном случае клиенту придется найти последнюю транзакцию на сервере, проименованную так же, как и у него, и откатиться до нее. А потом накатить все транзакции до последней на сервере. Т.е. кроме приоритета, у транзакций должны быть еще и уникальные имена. (Прошу прощения, если я что-то пропустил) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 15:57 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusНе вижу особенных сложностей. Навскидку - принимая транзакцию 7, клиент должен убедиться, что транзакция 6, которую он отправил на сервер вчера, действительно принята всеми. А я вижу здесь сложности. Навскидку: как убедиться, что транзакция N-1 принята всеми, если Вася П. пошел на обед и выключил комп. Напоминаю, транзакции с сервера на рабочие станции идут бродкастом и, да, никаких имен и тем более приоритетов (хто здесь???) у транзакций в заявленной архитектуре не предусмотрено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusНавскидку - принимая транзакцию 7, клиент должен убедиться, что транзакция 6, которую он отправил на сервер вчера, действительно принята всеми.... Плюс, в ситуации, когда каждый клиент имеет у себя, фактически, полную копию данных, хорошо бы иметь какое-либо средство контроля согласованности данных на разных машинах. Что-то вроде "контрольной суммы" всех данных. И проверять одинаковость этой "контрольной суммы" на клиенте и сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:09 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)ShlippenbaranusНе вижу особенных сложностей. Навскидку - принимая транзакцию 7, клиент должен убедиться, что транзакция 6, которую он отправил на сервер вчера, действительно принята всеми. А я вижу здесь сложности. Навскидку: как убедиться, что транзакция N-1 принята всеми, если Вася П. пошел на обед и выключил комп. Напоминаю, транзакции с сервера на рабочие станции идут бродкастом и, да, никаких имен и тем более приоритетов (хто здесь???) у транзакций в заявленной архитектуре не предусмотрено "Принята всеми" - значит, принята сервером. Или уточните Ваше возражение. "Приоритет" - я имел в виду, номер транзакции. А по поводу того, что никаких имен для транзакций не предусмотрено - ну, так нужно предусмотреть :). Речь о том, как заделать обнаруженную сообществом дыру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Shlippenbaranus"Принята всеми" - значит, принята сервером. Ага, только вот "сервером" в произвольный момент времени может стать любая рабочая станция, во избежание ядерной войны, ага? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:21 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Shlippenbaranus"Принята всеми" - значит, принята сервером. Ага, только вот "сервером" в произвольный момент времени может стать любая рабочая станция, во избежание ядерной войны, ага? Да, ну и что? Продемонстрируйте по пунктам, почему от этого все вдруг повалится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:25 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusGluk (Kazan)пропущено... Ага, только вот "сервером" в произвольный момент времени может стать любая рабочая станция, во избежание ядерной войны, ага? Да, ну и что? Продемонстрируйте по пунктам, почему от этого все вдруг повалится. Уже описывалось выше. Сейчас нет времени повторять. Откуда у Вас такой живой интерес? Вы таки один из 2.5 разработчиков??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Shlippenbaranusпропущено... Да, ну и что? Продемонстрируйте по пунктам, почему от этого все вдруг повалится. Уже описывалось выше. Сейчас нет времени повторять. "Описывалось выше" - ну, так я как бы предложил способ решить проблему (закрыть дыру), которая описывалась выше. Описывался конкретный сценарий образования неконсистентных данных, "если бухгалтер поработал вечером, а ночью испортился сервер", я предложил поправку к механизму фиксации транзакций, которая, как мне показалось, исправляет проблему. Вы можете предложить другой конкретный сценарий? Было бы интересно послушать. Gluk (Kazan)Откуда у Вас такой живой интерес? Вы таки один из 2.5 разработчиков??? Фу. Нельзя быть таким подозрительным. "Живой интерес" - почему бы и нет? Законом не запрещено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:44 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusФу. Нельзя быть таким подозрительным. "Живой интерес" - почему бы и нет? Законом не запрещено. Неподозрительным буду не раньше чем приду домой. Сейчас времени нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:47 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 29.08.2011 4:31, .ЛП wrote: > что подаётся как архитектурные особенности и плюсы - вызывает тихое шевеление > волос на голове. Да, кстати достаточно грамотные замечания, потому что если это бухгалтерия, то там обычно интенсивность работы очень низкая, интенсивность изменений низкая (редко выполняемые операции), а больше нагрузка на запросы чтения, обработка огромных (по тупизне пользователей) массивов данных. В таких конфигурациях именно этот подход не так уж и плох будет по производительности, потому что у каждого -- своя копия БД, можно сказать, распределённая обработка данных получается :-) Мы тут что обсуждаем, СУБД, или условия задачи? Если вопрос ставится следующим образом: "У нас есть мало пользователей, сидящих в одном сегменте локальной сети, которые обрабатывают малое количество данных, причём в основном на чтение, на запись меньше, а конфликтующих между собой операций записи совсем уж мало. Скажите пожалуйста, какая СУБД с этим справится?" то ответ будет - "Любая. Хоть КС, хоть ФС, хоть реляционная, хоть нереляционная, хоть готовая, хоть самописная, хоть массив в памяти, сериализованный на жесткий диск, хоть XML-файлы, хоть что" Однако же вопрос стоял "Что вы думаете по поводу вот такой СУБД". Ответ - "Она ужасна. Потому что способна работать только вот в таких вот условиях, и даже при выполнении этих условий не видно преимуществ по сравнению с любой другой". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 16:50 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovMasterZivЗа счёт чего сериализация-то происходит ? Мой ХШ утверждает, что пока транзакция не обработана, следующий пакет просто не принимается. Ага. Это уже в начале топика выяснили и даже придумали как положить всю систему - закатить массовый поток транзакций. На сервере они встанут в очередь, а потом еще и на каждом клиенте. Это самое слабое место архитектуры на мой взгляд пока - она в принципе не рассчитана на массовые изменения. Т.е. область применение четко не выходит за рамки чего-то вроде учетных задач на малых и средних предприятиях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемАга. Это уже в начале топика выяснили Не совсем так. Выяснили только что транзакции сериализуются. Но делается ли это на уровне буферизации в TCP стэке или очередью запросов внутри вашего сервера - не было сказано. В первом случае флуд положит не только вашу систему, но и Windows из-за исчерпания non-paged памяти. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Это никак не затыкает дыру с данными из "альтернативной" реальности Думайте дальше Вот честно не понимаю. Транзакции пишутся последовательно, у каждой свое время, оно уникально. Машина при старте должна посмотреть номер своей транзакции и, если этот номер меньше чем на сервере, должна спросить у сервера время записи его транзакции с этим же номером. Если они не соответствуют друг другу, значит данные станции не соответствуют данным сервера: она должна откатиться до момента соответствия а потом получить от сервера update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемGluk (Kazan)Это никак не затыкает дыру с данными из "альтернативной" реальности Думайте дальше Вот честно не понимаю. Транзакции пишутся последовательно, у каждой свое время, оно уникально. Машина при старте должна посмотреть номер своей транзакции и, если этот номер меньше чем на сервере, должна спросить у сервера время записи его транзакции с этим же номером. Если они не соответствуют друг другу, значит данные станции не соответствуют данным сервера: она должна откатиться до момента соответствия а потом получить от сервера update. Остается человеческий фактор. Админ решает кто будет сервером. Это плохо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:32 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperинтересующаяся_мнением, может тут уже было, но я вот не понял как без блокировок такие ситуации разруливаются допустим оператор Маша хочет списать со счета 100 руб. Она читает остаток по счету, там 150 руб в это же время оператор Аня с этого же счета хочет списать тоже 100 руб и она также видит что там 150 руб смогут ли они теперь обе списать по 100 руб (при условии что отрицательный остаток недопустим)? Насколько я понимаю, это конфликт на изменение одной и той же записи. Маша спишет, а Аня нет, - ей отлуп придет от сервера. Кто первый успел, того и тапочки. Этот пример мы разбирали когда говорили про операцинисток, которые один и тот же документ правят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:34 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusGluk (Kazan)пропущено... Да ну? И как будете закрывать??? Опишите Не вижу особенных сложностей. Навскидку - принимая транзакцию 7, клиент должен убедиться, что транзакция 6, которую он отправил на сервер вчера, действительно принята всеми. Как это сделать? Ну, например, дать уникальное имя каждой транзакции, и проверять, что последняя отправленная транзакция у тебя имеет то же имя, что и транзакция за этим же номером на "сервере". При положительном ответе клиент будет знать, что "альтернативная реальность" не возникла, и спокойно примет транзакцию 7. В противном случае клиенту придется найти последнюю транзакцию на сервере, проименованную так же, как и у него, и откатиться до нее. А потом накатить все транзакции до последней на сервере. Т.е. кроме приоритета, у транзакций должны быть еще и уникальные имена. (Прошу прощения, если я что-то пропустил) Shlippenbaranus, не вполне понял идею. Поясните? Уникальное имя должен иметь некий 'тип' транзакции? Ну например - 'резервирование товара'? Допустим, я послал - резервирую товар колбасу - 5, еще кто-то резервирую сосиски - 5, мой пакет потерялся... пакеты никогда не теряются? Или сервер дает сигнал квитирования? - так мол и так - пакет принял! И потом... если такое именование обеспечивает непротиворечивость данных... надежно? тогда ему место в движке дазы банных... Извините за искажение слов - просто привычка нагло требует называть БД нечто реляционное. Т.е. если заставить прикладного программиста реализовать протокол, который ОБЫЧНО берет на себя сервер БД - то да... То же квитирование... Ну так тогда и прикладная программа раздувается, усложняется... или поверх приведенного движка пишется слой библиотек, который все это прячет внутри... На выделенной машине крутится еще один - серверный экземпляр, обеспечивающий проверку и перепроверку... Мелькнула мысль про агрегаты. На машине 1 изменение, затрагивающее агрегаты A1, A2, A3... на машине 2 - А2 А3 A4... и так далее... Когда, и кто пересчитывает эти агрегаты при постинге изменений? Как они рассылаются? Как выясняется, что их прочли ВСЕ КОМУ ОНИ НУЖНЫ, а не только суперглавный сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:37 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемGluk (Kazan)Это никак не затыкает дыру с данными из "альтернативной" реальности Думайте дальше Вот честно не понимаю. Транзакции пишутся последовательно, у каждой свое время, оно уникально. Машина при старте должна посмотреть номер своей транзакции и, если этот номер меньше чем на сервере, должна спросить у сервера время записи его транзакции с этим же номером. Если они не соответствуют друг другу, значит данные станции не соответствуют данным сервера: она должна откатиться до момента соответствия а потом получить от сервера update. О, это правильно. Я предложил давать каждой транзакции уникальное имя - вместо него можно использовать точное время. Точное время будет почти уникально :). С нужной степенью точности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:38 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakov Shlippenbaranus, не вполне понял идею. Поясните? Уникальное имя должен иметь некий 'тип' транзакции? Нет. Каждая отдельная транзакция. По существу, я сказал то же самое, что и интересующаяся_мнением ( 11207912 ). Только у нее вместо имени - время транзакции. Про время транзакции я не подумал, т.к., на мой взгляд, оно недостаточно уникально. В моем личном опыте :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
В плане консистентности и безопасности данных - полный разброд и шатание. Начать даже с того, кто за что отвечает. Я-бы в таких условиях будучи сисадмином сидел-бы и курил и нижуя ни делал. Милое дельце - спихивал бы всё на проблемы на локальной машине бухгалтера. Этож облако мать его так. План и грид бл?*:!. Разбирайтесь сами сцуки на ваших машинах. Хехе... и еще слово какое... Plan... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:44 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonЯ-бы в таких условиях будучи сисадмином сидел-бы и курил и нижуя ни делал. Вооот. Достоинство этой системы - ей сисадмина не надо. Все равно сидит и курит. И никуя не делает :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:48 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonНепонятно как обеспечивается оптимизация чтений. Здесь нужен какой-то индекс который должен стать сегментом воистину неподъёмным (почти как этот "рулон" транзакций) для рабочей станции где эта вся богадельня расположена. Конечно индексируется это все. Про это уже писалось. mayton http://spcomputer.ru/index.php?option=com_content&task=view&id=26&Itemid=37 При этом, поскольку в арсенале пользователя имеются все необходимые агрегаты, необходимое представление информации, как правило, не занимает слишком много времени (максимально длительная по времени задача за всю историю существования комплекса - 2 минуты) я просто не верю. Возможно речь идёт о каких-то сферических отчётах в вакууме. Дайте мне SQL-* консоль к этой Викте и я положу любого клиента в коматоз... Либо речь идёт о смехотворных объёмах. Я участвовал во внедрении одной из самых крупных бухгалтерии баз для *телекомов и вовсе не понаслышке знаю сколько необходимо искать, и какую нагрузку создают обычные SELECT. Объемы действительно небольшие. Все это рассчитано на малые и средние предприятия. Максимальный объем бухучета обсчитываемый в этой архитектуре - 2000 человек, - это завод. Обслуживался он коллективом из 30 бухгалтеров. Соответственно - 30 машин в сети. Вот соответственно рассчет зарплаты на эти 2000 шел две минуты - самая тяжелая операция по длительности получалась. А все остальные отчеты, какие там по законодательству требуются, ну и им были нужны - это все незаметно было по времени. А насчет SQL-консоли - извиняйте :) Нету у них SQL, - это в исходной статье написано. Без него в сегодняшней жизни конечно тяжко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 17:49 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovМелькнула мысль про агрегаты. На машине 1 изменение, затрагивающее агрегаты A1, A2, A3... на машине 2 - А2 А3 A4... и так далее... Когда, и кто пересчитывает эти агрегаты при постинге изменений? Как они рассылаются? Как выясняется, что их прочли ВСЕ КОМУ ОНИ НУЖНЫ, а не только суперглавный сервер? Все агрегаты пересчитывает только сервер. На самом деле примерно так происходит: клиент чего-то наменял, отправил это пакетом на сервере. Сервер почитал все полученное, досчитал все, что можно досчитать только централизованно, записал все что получилось (включая агрегаты и то что прислал клиент) в базу с новым номером транзакции, а потом уже всю эту байду кинул бродкастом всем остальным. Т.о. все всегда имеют агрегаты, соответствующие фактическим данным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:00 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusДостоинство этой системы - ей сисадмина не надо. Все равно сидит и курит. И никуя не делает :). Это общее свойство админов - ненужность пока всё работает. Как и у врачей пока здоров. А вот когда всё упало, тут-то и появляются нюансы, авралы и прочие биения головой об стену. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:00 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемСервер почитал все полученное, досчитал все, что можно досчитать только централизованно, записал все что получилось (включая агрегаты и то что прислал клиент) в базу с новым номером транзакции, а потом уже всю эту байду кинул бродкастом всем остальным. Т.е. фоновый просчёт агрегатов, которым так гордится статья - туфта?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:03 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Остается человеческий фактор. Админ решает кто будет сервером. Это плохо :) Нууу... наверно я-таки с вами соглашусь :) Хотя... для того чтобы сделать по-другому, нужно чтобы все машины сети знали о том, кто еще в нее подключен, - дабы в случае исчезновения сервера перекличку сделать.... Даже если есть, тут встает проблема, что если мы оставим все это совсем на автомат, слишком вилик соблазн оставить все это вообще без сервера. По типу - ну выбрали кого-то сервером, при старте, вот он пусть и пашет. А поскольку мы в этом случае даже толком не знаем, кто сейчас сервер, мы влетаем в регулярную проблему тети Маши, оставшейся накануне вечером что-то доделывать а на следующий день пришедшей позже всех. Т.е. придется автоматизировать процесс сначала отката ее персональных транзакций, которые пошли вразрез с тем, что там другие уже наработали, а потом их обратного наката. А тут конфликты... слишком сложная логика выходит. Пусть уж лучше человек объявляет - это теперь сервер, - его не выключать. В такой архитектуре это пожалуй второй недостаток выявленный мной именно в ходе обсуждений с разными умными людьми :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:16 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusВооот. Достоинство этой системы - ей сисадмина не надо. Все равно сидит и курит. И никуя не делает :). Ну собсно так и происходит на практике :) В большинстве контор, где это стоит ни о каком админе даже слыхом не слыхивали. Там где побольше народу, - там сидят мальчики, но тоже в основном доработкой отчетов занимаются. А администрированием всего этого хозяйства никто не занимается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемСервер почитал все полученное, досчитал все, что можно досчитать только централизованно, записал все что получилось (включая агрегаты и то что прислал клиент) в базу с новым номером транзакции, а потом уже всю эту байду кинул бродкастом всем остальным. Т.е. фоновый просчёт агрегатов, которым так гордится статья - туфта?.. Фоновый, - имеется в виду по ходу поступления изменений, а не потом отдельно ночью. А процедура которая это делает у них называется Фон. Он на сервере работает. Я так понимаю, если это делать в обычной реляционке, в общем-то можно то же самое и на триггера повесить, - не вижу причин почему нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:22 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusVladimir Baskakov Shlippenbaranus, не вполне понял идею. Поясните? Уникальное имя должен иметь некий 'тип' транзакции? Нет. Каждая отдельная транзакция. По существу, я сказал то же самое, что и интересующаяся_мнением ( 11207912 ). Только у нее вместо имени - время транзакции. Про время транзакции я не подумал, т.к., на мой взгляд, оно недостаточно уникально. В моем личном опыте :). Ага... начинаю понимать. В переводе на эскуэль - сделал апдейт или инсерт - сделай селект и сравни, то ли заселектилось, что ты изменял, или нет... да. Ну если засунуть это в библиотеку... жить можно. Как кстати селект работает - такой, проверочный - быстро, на сервере, или всю базу тянет к себе? А про конфликты при пересчете агрегатов - соображения будут? Ясно ли я сформулировал вопрос? Вообще - топик напоминает мне защиту диплома... почему-то...)))) тока не понятно - кто в приемной комиссии, а кто - пять минут позора - и инженер))))) mumps - не похож ли на представленный движок? Глобали всякие... За что спасибо обсуждению - начинаешь ценить простые вещи... понимаешь - сколько труда было вложено в БД разработчиками.... чтоб оно прозрачно гарантировало все то, к чему так легко привыкаешь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:33 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Сомнения - это ключ к просветлению. Но может быть не стоит выносить на общественный суд вещь за которую может стать стыдно. Не сегодня. А спустя несколько лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 18:38 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonНо может быть не стоит выносить на общественный суд вещь за которую может стать стыдно. Не сегодня. А спустя несколько лет. А почему должно быть стыдно за систему, которая делает то, что из классических серверов умеет мало кто: синхронную master-slave репликацию на сотню slave, которые при этом ещё и остаются доступными на чтение? MySQL, MS SQL и Oracle это умеют (хотя до определённой версии slave нельзя было читать), но я не уверен, что они справятся с таким количеством slave. Firebird такого не умеет вообще. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением скип... Я бы предложил немного отвлечься от обсуждения технических подробностей решения и задуматься, а какой смысл сейчас делать подобную архитектуру? Что мы имеем на сегодня. Сильно выросшую производительность компьютеров. Причем продолжает расти с каждым годом. Многопроцессорные системы пришли уже в быт. Ограничения с размера оперативной памяти сняты в 64-разрядных ОС. И все это дешевеет и дешевеет. Уже можно взять ящик за 50 тыр и организовать на нем одновременную работу много больше 30 пользователей. А в качестве станций ставить всякую рухлядь, специальные долгоживущие и эргономичные терминальные станции, или даже переносные устройства. При этом вся переферия будет работать без всякого обслуживания и с любой точки шарика. Один сервер и приложение со встроенной необслуживаемой базой данных. А тут предлагается не только ставить специализированный софт на 30 компов, но еще и копию данных на каждом создавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:10 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovmaytonНо может быть не стоит выносить на общественный суд вещь за которую может стать стыдно. Не сегодня. А спустя несколько лет. А почему должно быть стыдно за систему, которая делает то, что из классических серверов умеет мало кто: синхронную master-slave репликацию на сотню slave, которые при этом ещё и остаются доступными на чтение? MySQL, MS SQL и Oracle это умеют (хотя до определённой версии slave нельзя было читать), но я не уверен, что они справятся с таким количеством slave. Firebird такого не умеет вообще. А ты можешь сейчас указать условия при которых твоя система будет не пригодна к эксполуатации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonтвоя система Моя система?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovmaytonтвоя система Моя система?.. Извини. Просто ты так рьяно кинулся отстаивать... Или всё таки твоя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
FinSoftинтересующаяся_мнением скип... Я бы предложил немного отвлечься от обсуждения технических подробностей решения и задуматься, а какой смысл сейчас делать подобную архитектуру? Что мы имеем на сегодня. Сильно выросшую производительность компьютеров. Причем продолжает расти с каждым годом. Многопроцессорные системы пришли уже в быт. Ограничения с размера оперативной памяти сняты в 64-разрядных ОС. И все это дешевеет и дешевеет. Уже можно взять ящик за 50 тыр и организовать на нем одновременную работу много больше 30 пользователей. А в качестве станций ставить всякую рухлядь, специальные долгоживущие и эргономичные терминальные станции, или даже переносные устройства. При этом вся переферия будет работать без всякого обслуживания и с любой точки шарика. Один сервер и приложение со встроенной необслуживаемой базой данных. А тут предлагается не только ставить специализированный софт на 30 компов, но еще и копию данных на каждом создавать. Знали бы Вы, на чем до сих пор работают не только end-юзеры, но даже разработчики ПО. На прошлой работе, всего год назад, у меня на работе была машина на селероне с ядром Willamette, 128 KB кеша, образца 2002-го года. Вы даже слов, наверное таких не слыхали (между тем, хуже pentium 3). На которой ПО, которое я разрабатывал, поднималось минутами. И сколько сил нужно было потратить на то, чтобы мне заменили ее на что-то условно-двухядерное. После чего у меня образовалась едва ли не лучшая машина в отделе. И ведь это был один из ведущих разработчиков CRM-систем в моей стране. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:38 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonИли всё таки твоя? Блин, ну что за люди! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:40 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемVladimir BaskakovМелькнула мысль про агрегаты. На машине 1 изменение, затрагивающее агрегаты A1, A2, A3... на машине 2 - А2 А3 A4... и так далее... Когда, и кто пересчитывает эти агрегаты - при постинге изменений? Как они рассылаются? Как выясняется, что их прочли ВСЕ КОМУ ОНИ НУЖНЫ, а не только суперглавный сервер? Все агрегаты пересчитывает только сервер. На самом деле примерно так происходит: клиент чего-то наменял, отправил это пакетом на сервере. Сервер почитал все полученное, досчитал все, что можно досчитать только централизованно, записал все что получилось (включая агрегаты и то что прислал клиент) в базу с новым номером транзакции, а потом уже всю эту байду кинул бродкастом всем остальным. Т.о. все всегда имеют агрегаты, соответствующие фактическим данным. Когда пересчитывает? откуда он знает, что и когда надо (пора) пересчитывать? в традиционных БД - когда сработал триггер... условно. Или - запрос послан не базе, а умному серверу приложений. Принять товар! вписали товар в базу, поправили агрегаты. И этот сервер приложений знает, как на запрос отвечать. И крутится он на машине с мощным железом - сервере... Иногда для таких целей удобно использовать язык хранимых процедур БД. а как это работает, когда сервером может быть кто угодно? - его нужно засунуть в состав толстого клиента.... в общем - наблюдается сращивание собственно движка данных с прикладным ПО... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:49 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusFinSoftпропущено... Я бы предложил немного отвлечься от обсуждения технических подробностей решения и задуматься, а какой смысл сейчас делать подобную архитектуру? Что мы имеем на сегодня. Сильно выросшую производительность компьютеров. Причем продолжает расти с каждым годом. Многопроцессорные системы пришли уже в быт. Ограничения с размера оперативной памяти сняты в 64-разрядных ОС. И все это дешевеет и дешевеет. Уже можно взять ящик за 50 тыр и организовать на нем одновременную работу много больше 30 пользователей. А в качестве станций ставить всякую рухлядь, специальные долгоживущие и эргономичные терминальные станции, или даже переносные устройства. При этом вся переферия будет работать без всякого обслуживания и с любой точки шарика. Один сервер и приложение со встроенной необслуживаемой базой данных. А тут предлагается не только ставить специализированный софт на 30 компов, но еще и копию данных на каждом создавать. Знали бы Вы, на чем до сих пор работают не только end-юзеры, но даже разработчики ПО. На прошлой работе, всего год назад, у меня на работе была машина на селероне с ядром Willamette, 128 KB кеша, образца 2002-го года. Вы даже слов, наверное таких не слыхали (между тем, хуже pentium 3). На которой ПО, которое я разрабатывал, поднималось минутами. И сколько сил нужно было потратить на то, чтобы мне заменили ее на что-то условно-двухядерное. После чего у меня образовалась едва ли не лучшая машина в отделе. И ведь это был один из ведущих разработчиков CRM-систем в моей стране. Работал я на подобных, только атлонах. До 2004 г, потом взял себе Атлон Barton 2500+ с 512 мб ОЗУ. На нем разработка софта до сих пор, хотя письмо сейчас пишу с тошибовского ноута на 4-ядерном i5 и 4 гигах ОЗУ. А еще у меня сегодня скорость инета 2ГБ, с завтрешнего дня 8ГБ и на 100 рублей дешевле. Если для сервера на 30 пользователей жалко потратить 50 тыр, можно потратить 15-20 тыр - тоже будет за глаза... И это гораздо дешевле, чем платить за обслуживание 30 отдельных компов, тратить время, деньги и нервы на их ремонт и т.п. Ну, сами понимаете... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:52 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonПросто ты так рьяно кинулся отстаивать... А вон там, повыше, рьяно громил. Но давайте будем объективны: система авторов действительно имеет определённые достоинства. Она действительно практически неуничтожима, а вышеописанные катастрофические сценарии обходятся парой административно-технических решений. Например, выделяется 2-3-10 компьютеров, которые никогда не выключаются и выбор нового сервера идёт исключительно из них. Строго говоря, их система работает как классический MySQL LB-cluster, доведённый до абсурда: каждому клиенту свой сервер. Соответственно, она имеет все достоинства и недостатки этого кластера. И может работать в тех же задачах - высоконагруженные информационные системы в которых чтение намного, НАМНОГО превышает запись. (Хотя, конечно, быстродействие их выборок ещё под вопросом.) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 19:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, да и по записи у меня слишком много вопросов. Как будет синхронизироваться парк машин? Какой алгоритм согласования текущего номера транзакции или метки времени? Как будет детектироваться сбой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 20:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonКакой алгоритм согласования текущего номера транзакции или метки времени? Дык нет никакого согласования. Поскольку не с кем согласовывать. На запись у них работает только один комп из всего табуна. Он же т.н. "сервер". Всё как в том же мускуле с тем отличием, что у того "серверов" может быть целых два. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 20:25 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНо давайте будем объективны: система авторов действительно имеет определённые достоинства. Она действительно практически неуничтожима Давайте будем объективны - система практически неуничтожима при условии, что с ней практически никто не работает :) А как только начинается интенсивная работа - неуничтожимая система вдруг превращается в неработающую. Смысл в такой неуничтожимости? Вот если довести до абсурда... Можно ведь положить на сервер read-only файл. Каждый клиент его к себе скопирует, и будет на него смотреть внимательным глазом. Тоже неуничтожимая система, кто ж спорит. А толку от такой неуничтожимости? А до такого абсурда у системы - рукой подать. Быстро читать система не умеет - потому что она есть append-only лог от ишачьей пасхи до сегодня. Ну, разве что кто-нибудь "компрессировать" её будет периодически. Кто будет компрессировать - тоже непонятно, оно ведь типа как безадминное. Быстро писать система не умеет - потому что умирает (и сервер, и сеть, и все клиенты сразу). Зато неуничтожима. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 20:47 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 02:15 AM, интересующаяся_мнением wrote: > Очень интересует ваше мнение о строении БД, особенности которой описаны вот > здесь < http://spcomputer.ru/index.php?option=com_content&task=view&id=26&Itemid=37> Прочитал всё внимательно и подробно. Всё -- вообще ни о чём. Начиная с того, что не описано очень многое (например, как вообще данные удаляются) и кончая тем, что принимаемый подход очень дурацкий. > При этом сие чудо показывает чудеса производительности именно прикладных задач, > а именно: рассчет зарплаты на всю эту толпу в 2000 человек - 2 минуты, оборотная > ведомость за год - тоже около 2-х минут. 2000 -- это не масштабы для современных БД. Это мизер. может быть у одного человека больше каких-то более мелких единиц информации, типа статей начисления. По идее, есть человек, связи его со штатной единицей, связи штатной единицы со статьями начислений, вот этих связей должно быть больше. Но это всё равно в 5-10 раз, 20000 статей, ну это уже посолиднее, но всё равно не впечатляет. > Я провела интервью с разработчиками комплекса и получила информацию о строении > БД, которая собственно в статье и описана. Это вы что ли писали? Извините, местами безграмотно. Как по-русски, так и технически. Хотелось бы узнать мнение > специалистов, особенно тех, кто занимался разработкой или работал с учетными > системами с одной стороны, и тех, кто глубоко знает теорию БД и обладает > хорошими именно практическими навыками. Как вам вообще такой подход? Есть в нем > что-то или как? В нём не так всё. По сути это самописанный на коленках т.н. pure-MVCC, прямой аналог -- это Interbase/Firebird. Сильная сторона этого дела -- большая скорость изменений. Новая запись добавляется быстро (если на диск не писать). Слабые стороны -- это -- низкая производительность запросов на чтение (надо перебирать все записи и искать подходящие). -- низкая эффективность записи в режиме с обеспечением DURABILITY, потому что каждую (!) запись надо физически (!) писать на диск и дожидаться отлупа от ОС об окончании записи (!). Т.е. в итоге если это делать по-нормальному, это плохо и для "пишуших" БД, и для "читающих". К этому надо ещё добавить проблему удаления записей (старых версий и удалённых записей), проблему write skew (которую вы вообще никак не решаете) и пр. Это всё в общем уже давно пройдено в истории развития Interbase. Плюс к этому надо добавить всякий бред про нереляционные структуры, репликацию всех изменений на все рабместа (это между прочим узкое место системы, с ростом пользователей будет квадратично расти работа сервера) и всё другое прочее. В общем, всё -- бредятина от начала до конца. У неё есть одно неоспоримое достоинство -- оно, как говорят, как-то работает. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 21:29 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovсинхронную master-slave репликацию на сотню slave, которые при этом ещё и остаются доступными на чтение? MySQL, MS SQL и Oracle это умеют (хотя до определённой версии slave нельзя было читать), но я не уверен, что они справятся с таким количеством slave. Firebird такого не умеет вообще. Вах как вы это назвали :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 21:46 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
FinSoft... Я бы предложил немного отвлечься от обсуждения технических подробностей решения и задуматься, а какой смысл сейчас делать подобную архитектуру? Что мы имеем на сегодня. Сильно выросшую производительность компьютеров. ... Вот именно, и при этом не-производительные компьютеры как-то особенно не продаются. Соответственно при приобретении парка машин для офиса все скоро дойдет до того что даже у секретарши, которой и нужно-то что только документы в ворде набивать, будет стоять двухядерное нечто с 64-х битной архитектурой. Чего ему просто так стоять-то? Параллельно: нужно нам, пусть даже на пятьдесят человек много-много отчетов считать, причем отчеты такие,что они так или иначе перелопачивают большую часть имеющихся в базе данных. И эти пятьдесят человек еще время от времени в базу все-таки еще что-то заносят и что-то там меняют. Если мы будем все это делать на централизованном сервере - есть вероятность, что нам понадобится что-то довольно мощное, и возможно за приличные деньги. Так чего-б им эти самые много-много отчетов,не считать каждому для себя? Все равно их машины простаивают. И сервер будет не нужен, потому что каждый будет считать этот отчет в монопольном режиме, - тот, который нужен персонально ему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:02 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемкаждый будет считать этот отчет в монопольном режиме, - тот, который нужен персонально ему. А во время этого просчёта новые данные с сервера будут поступать, или их приём остановится? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:12 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемFinSoft... Я бы предложил немного отвлечься от обсуждения технических подробностей решения и задуматься, а какой смысл сейчас делать подобную архитектуру? Что мы имеем на сегодня. Сильно выросшую производительность компьютеров. ... Вот именно, и при этом не-производительные компьютеры как-то особенно не продаются. Соответственно при приобретении парка машин для офиса все скоро дойдет до того что даже у секретарши, которой и нужно-то что только документы в ворде набивать, будет стоять двухядерное нечто с 64-х битной архитектурой. Чего ему просто так стоять-то? Параллельно: нужно нам, пусть даже на пятьдесят человек много-много отчетов считать, причем отчеты такие,что они так или иначе перелопачивают большую часть имеющихся в базе данных. И эти пятьдесят человек еще время от времени в базу все-таки еще что-то заносят и что-то там меняют. Если мы будем все это делать на централизованном сервере - есть вероятность, что нам понадобится что-то довольно мощное, и возможно за приличные деньги. Так чего-б им эти самые много-много отчетов,не считать каждому для себя? Все равно их машины простаивают. И сервер будет не нужен, потому что каждый будет считать этот отчет в монопольном режиме, - тот, который нужен персонально ему.а Вам не приходило в голову, что если всё мировое развитие СУБД идет по другому пути, то тут что-то не так? как минимум дублирование данных и соответственно их последующая синхронизаций одна из самых неприятных вещей а кстати где там хранится функционал и что он из себя представляет? т.е. если мне надо допустим добавить какой-то вид документа или какой-нибудь отчетик - что надо делать? куда менять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:13 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakovинтересующаяся_мнениемпропущено... Все агрегаты пересчитывает только сервер. На самом деле примерно так происходит: клиент чего-то наменял, отправил это пакетом на сервере. Сервер почитал все полученное, досчитал все, что можно досчитать только централизованно, записал все что получилось (включая агрегаты и то что прислал клиент) в базу с новым номером транзакции, а потом уже всю эту байду кинул бродкастом всем остальным. Т.о. все всегда имеют агрегаты, соответствующие фактическим данным. Когда пересчитывает? откуда он знает, что и когда надо (пора) пересчитывать? в традиционных БД - когда сработал триггер... условно. Или - запрос послан не базе, а умному серверу приложений. Принять товар! вписали товар в базу, поправили агрегаты. И этот сервер приложений знает, как на запрос отвечать. И крутится он на машине с мощным железом - сервере... Иногда для таких целей удобно использовать язык хранимых процедур БД. а как это работает, когда сервером может быть кто угодно? - его нужно засунуть в состав толстого клиента.... в общем - наблюдается сращивание собственно движка данных с прикладным ПО... Нуу... на самом деле все где-то близко. Есть ядро - эта вот СУБД,написанная на C++, к ней прилагается фреймворк, ядро которого тоже написано на C++. Фреймворк тесно-тесно взаимодействует с этой БД. Фактически - это один и тот же процесс. На этом фреймворке, уже на встроенном языке написан некоторый системный слой. В частности, к примеру общие процедуры фона, срабатывающие на приход каждой записи. Дальше - тоже на встроенном языке, - уже прикладная логика. Часть этой логики может работать вот в этом самом фоне, - получается как триггер в БД (вот здесь как раз и идет обсчет агрегатов). А часть - быть "клиентской". Какая часть логики отрабатывает, определяется тем - работает все это хозяйство в режиме сервера или клиента. Физически, все эти прикладные утилитки представляют собой просто файлики с определенным расширением, подкладывающиеся в папочки установки фреймворка, таким образом в работающую систему добавляется новая логика - если что-то еще нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемкаждый будет считать этот отчет в монопольном режиме, - тот, который нужен персонально ему. А во время этого просчёта новые данные с сервера будут поступать, или их приём остановится? Будут приниматься. И даже пользователь этой машины сможет работать параллельно, - вбивать что-то, править.. На просчет у клиента создается то, что они называют виртуальной базой, и она фиксирует последний номер транзакции, относительно которого она будет рассматривать данные. Такой вот snapshot получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:22 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovmaytonКакой алгоритм согласования текущего номера транзакции или метки времени? Дык нет никакого согласования. Поскольку не с кем согласовывать. На запись у них работает только один комп из всего табуна. Он же т.н. "сервер". Всё как в том же мускуле с тем отличием, что у того "серверов" может быть целых два. Мне это больше напоминает вариант PostgreSQL в самой своей плохой инкарнации. т.е. без возможности использовать вакуум сегмента таблиц и вдобавок без поддержки стандарта Ansi SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:25 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 01:43 PM, интересующаяся_мнением wrote: > > Ммм.. да. Скорее всего. Так и не позиционируется это для больших нагрузок на > запись. А на кой фиг оно кому надо в таком случае ? > У Аксес я так понимаю все-таки проблемы с многопользовательностью? Или нет? > А вот с этим я кстати не согласна. Тот же Access используется очень широко. И Всё верно. Только используется он как клиент к какой-то клиент-серверной СУБД, особенно к MSSQLServer. Собственно, все десктопные СУБД (выжившие) поступают точно так же -- ходят к серверу. > Ну я так понимаю не только "адынэсовцы" :) На другие системы бухгалтера еще > больше плюются, тот же Парус к примеру. Какие бы жопорукие они не были, но они - > лучшее что есть на рынке из массовых продуктов именно для нашей бухгалтерии, как > я понимаю. Парус, 1С -- бывшие десктопы. Там подходы такие -- всё тянется на клиента, обрабатывается. Ваша эта штука сумела сделать то же самое, что и клиент-серверные СУБД -- поместить обработку данных и сами данные в одно и то же место. Только сделала она это ровно обратным к нормальному образом -- и то, и другое -- на клиенте. У вас да, с обработкой уже проблем нет, но будут проблемы с пишушими транзакциями, они будут очень тяжёлыми. Сейчас оно работает, только потому что транзакции сами никакие. Будет серьёзная нагрузка -- это всё очень быстро ляжет, потому что выполняемая при этом работа квадратично растёт с ростом пользователей. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 02:08 PM, Yo.! wrote: > не понял идеи. вот клиент шлет транзакцию, как централь отгадает, что транзакция > была по устаревшим данным проведена, потому как не получила последние обновления > ? на мой взгляд у централи в никаких возможностей отследить такие проблемы > физически нет. > Видимо, для этого клиент должен послать вместе с запросом идентификатор транзакции БД, относительно которой выполняется данная следующая транзакция. Если на сервере уже выполнилась следующая транзакция, то этой дадут отлуп (что само по себе уже ужас, пользователям-то как договариваться ? Голосом разве ...) Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:31 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 02:28 PM, интересующаяся_мнением wrote: > при отладке комплекса. Если перевести станцию в локальный режим работы, то вам в > теории ничего не мешает начать кромсать данные в базе как вам заблогарассудится > - типа - эксперименты проводить. Вы можете этим часами заниматься. А потом > просто сказать что-то типа undo и система у вас вернется в начальное состояние. > В теории - так же просто делать и пошаговый undo и на заданный момент времени. > Как вот эту, например фичу реализовать в стандартном реляционнике, вот без > такого потокового метода записи - я не представляю, - накладные расходы слишком > большими будут. Очень просто. Любая ACID-СУБД это вам даст сделать. Начинаете транзакцию. Эксперементируете, эксперементируете... проверяете, что там. откатываете транзакцию. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:35 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 02:47 PM, Gluk (Kazan) wrote: > То есть 200 внедрений это НЕ серьезно? 200 внедрений -- это супер. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:37 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 03:10 PM, интересующаяся_мнением wrote: > Взять к примеру, переменное число полей в таблицах. Де-факто получается, что у > них просто очень широкие таблицы, в которые напихано сразу все. В теории, - ну > что мешает сделать это в реляционной СУБД? Тем более что ALTER TABLE, насколько > я понимаю, операция простая и в современных СУБД ресурсов не требует особо, а > значения с NULL память не забивают.. Так почему не делают? Некошерно? Некрасиво? > Почему? На хрен никому не нужно потому что. Ну и потом -- это легко только если поле NULL или хранение записей поколоночное. В остальных случаях это очень даже нелегко. Ну и дизайн БД с широченными таблицами безграмотный и нигде неприменим по-хорошему. > С вычислениями агрегатов на лету, - опять то же самое. Я понимаю, что в теории > ничто не мешает в современной БД повесить всю эту обработку на триггера. Но > почему-то тоже особо не делают. Почему? Почему не делают-то ? Материализированные VIEW, вычисляемые колонки -- всё есть. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperа Вам не приходило в голову, что если всё мировое развитие СУБД идет по другому пути, то тут что-то не так? SergSuper, а тебе не приходило в голову, что весь мир идёт немного не в туда? :) Аргументы то правильные высказываются. Ну в самом деле. На самом обычном дохленьком офисном ПК вполне можно термоядерные реакции считать, в реальном времени. Самый мощщный когда-то Deep Blue, обыгравший Каспарова в шахматы, в подмётки не годится тому, что сейчас на столе у секретарш пылится. Понятно, что половину из этих немерянных мощщей отожрёт подсветка синтаксических ошибок в ворде :), но другая то половина останется. Чего добру зря пропадать? Сами идеи вполне съедобные. Но реализация... Было бы оно в виде например таком: Сервер. По ходу дела считающий фсякие там агрегаты, олаповские кубики, и прочую шляпу. Отдающий готовые кубики по первому требованию. Клиент. С локальной копией нужных данных, всех, или только частично каких-то. MS SQL Server Compact, FB Embedded, etc. В нормальной реализации, а не в виде никому никуда не упершегося аппенд-онли лога. Настраиваемая служба нотификаций. Где можно подписаться на всё, подписаться на что-то, отписаться от чего-то, отписаться от всего. Ну и было бы о чём говорить. А тут блин этттаа... "Абстрагировались от знаний" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivПарус, 1С -- бывшие десктопы. Там подходы такие -- всё тянется на клиента, обрабатывается. Ваша эта штука сумела сделать то же самое, что и клиент-серверные СУБД -- поместить обработку данных и сами данные в одно и то же место. Только сделала она это ровно обратным к нормальному образом -- и то, и другое -- на клиенте. У вас да, с обработкой уже проблем нет, но будут проблемы с пишушими транзакциями, они будут очень тяжёлыми. Сейчас оно работает, только потому что транзакции сами никакие. Будет серьёзная нагрузка -- это всё очень быстро ляжет, потому что выполняемая при этом работа квадратично растёт с ростом пользователей. А вот за этот коммент - спасибо. Над ним стоит подумать. Т.е. вы хотите сказать, что 1C и Парус сначала делают массово тяжелые селекты, потом считают все на клиенте, а потом кладут обратно да еще и транзакцию скорее всего на всю эту байду держат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:49 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемНа просчет у клиента создается то, что они называют виртуальной базой, и она фиксирует последний номер транзакции, относительно которого она будет рассматривать данные. Такой вот snapshot получается. Ну, с файлом данных всё ясно: читатели не читают там, куда пишут писатели. А вот как индексы умудряются обновляться? В+ дерево же последовательно не допишешь, там всяко рандомный доступ, разделение страниц и прочие прелести, читателей нервирующие. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 04:21 PM, интересующаяся_мнением wrote: > Согласна полностью. Поэтому для себя я изначально ограничиваю класс задач, для > которых данная архитектура применима. Никто и не говорит что это универсальное > решение. > Насчет неудачных транзакций, - мне вот еще такая идея приходила в голову: у нас > же клиент видит все обновления в локальной базе. В теории, если мы в этой > архитектуре проектируем систему, которая предполагает большое количество > апдейтов, то нам ничего не мешает чекать обновление и подсовывать их > операционистке пока она ворон считает. Т.е. действовать, так сказать, > превентивным методом. Это должно сократить неудачные транзакции на стороне > сервера. Ага, всё верно. Только для этого немного-немало надо транзакции сериализовать и непротиворечивость с локальными изменениями проверить. И сделать это (ещё раз повторяю) на N машинах. N машин делает по одному изменению, которые идут на N машин, получается N**2 работы. У обычных нормальных СУБД это просто kN. > Может, но, во-первых это критично только в случаях конфликта на обновление. Есть Конфликт или нет -- надо ещё обнаружить, между прочим. Если > идет массовая вставка данных - какая разница в каком порядке они вставятся? Есть нюансы. А > при конфликте обновления - см. чуть выше, как эту ситуацию можно минимизировать. > Вы подумайте еще вот о чем: если у вас клиент-сервер классический, вы вообще не > сможете отследить такую ситуацию с конфликтом обновления. Сервер просто > перезапишет данные поверх и все. Разве нет? Нет. Есть и блокировки (т.н. pessimistic locking) и optimistic locking тоже. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:55 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемФизически, все эти прикладные утилитки представляют собой просто файлики с определенным расширением, подкладывающиеся в папочки установки фреймворка, таким образом в работающую систему добавляется новая логика - если что-то еще нужно.и эти файлики надо поставить на каждую машину? .ЛПSergSuperа Вам не приходило в голову, что если всё мировое развитие СУБД идет по другому пути, то тут что-то не так? SergSuper, а тебе не приходило в голову, что весь мир идёт немного не в туда? :)нет, я эволюционист ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:57 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 04:56 PM, интересующаяся_мнением wrote: > И еще момент: далеко не каждый магазин средней паршивости может позволить себе > даже SQL Server, не говоря уж об Oracle... Есть и еще один момент: у нас сейчас > направление партии и правительства - уход с Win в госучреждениях. Это решение > вроде как в теории может пойти на чем угодно. Максимум - небольшой допил > потребуется на особенности компиллятора C++. Дофига хороших бесплатных СУБД. PG например, под тот же 1C. Люди вон на одном линуксе и PG работают, покупается только 1С. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 22:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 05:46 PM, интересующаяся_мнением wrote: > Обсудила, уточнила. Да, клиент будет ждать ответа с сервера. Но это не помешает > ему заниматься другими задачами параллельно. В других окнах, - а ожидание будет > происходить только в одном окне. Эт как ? Ему надо транзакцию коммитить, чтобы было от чего плясать для следующей транзакции. А если он будет плясать от предыдущей, то транзакция заведомо будет не принята. Нет, он ждать должен. > В ответ на это обсуждение у меня тоже возник вопрос: а как с этим в реляционных > базах? Смотрите, - вроде бы да - в Викте все пишется в конец общего файла, - все > вынуждены ждать. В классической РСУБД вы в теории можете открывать несколько > параллельных транзакций и писать в разные таблицы, расположенные в разных > местах. В клиент-серверных СУБД для этого все данные лежат и обрабатываются на сервере. И не спроста -- он всё делает, и лог ведёт -- durability -- и непротиворечивость изменений данных отслеживает -- consistensy, и данные кэширует для всех один раз. Но лог транзакций то общий, соответственно на запись в него - очередь. Да. Запись в лог -- узкое место всех ACID-баз. И > на диск вам тоже писать все это тоже придется, а в разные места еще и медленней > получится, - если у вас один диск и один процессор, потому что головка скачет, > чтобы в разные места писать. Или я чего-то не понимаю? Не понимаете, что на диск пишется только лог. Данные не обязаны быть записаны по концу транзакции. Ещё не понимаете, что лога вообще может не быть, но это ещё хуже -- все записи должны физически быть записаны на диск -- это фактически уже катастрофа для СУБД. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПБыло бы оно в виде например таком: Сервер. По ходу дела считающий фсякие там агрегаты, олаповские кубики, и прочую шляпу. Отдающий готовые кубики по первому требованию. Клиент. С локальной копией нужных данных, всех, или только частично каких-то. MS SQL Server Compact, FB Embedded, etc. В нормальной реализации, а не в виде никому никуда не упершегося аппенд-онли лога. Настраиваемая служба нотификаций. Где можно подписаться на всё, подписаться на что-то, отписаться от чего-то, отписаться от всего. Ну и было бы о чём говорить. Примерно так это и делается в некоторых BI решениях, только без Embedded сервера на клиенте, насколько я понимаю, - просто кэшами в памяти. Просто в такой конфигурации клиент только читающим получается... (дальше мысль идет) ну наверно, можно сделать так шоб и писал - но это у вас тогда с клиента прямой коннект на сервер.... а иначе замучаетесь синхронизировать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:05 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/29/2011 05:58 PM, интересующаяся_мнением wrote: > Индексы обновляются при поступлении новых записей. Сначала, - пока транзакция не > зафиксирована - только о оперативной памяти. Потом, после завершения всех > операций по транзакции - сброс на диск. Не ACID уже. Ну да ладно. > клиентах. Т.е. сервер клиентам индексы не пересылает, они его сами создают при > записи оновлений в свою базу. Ну вот, ещё раз работу на N помножили. > У меня ответный вопрос про "одним чтением". А физически - это как? К примеру - > вот у вас таблица в сотню тысяч записей. Откуда вы вот так вот сразу узнаете в > каком месте таблицы находится искомая запись? В индексе лежит физический адрес записи. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/30/2011 12:13 AM, интересующаяся_мнением wrote: > Вот чего я нефига не могу понять: почему комплекс, написанный на этой базке, > которая вроде бы такая примитивная, обслуживая задачи того же класса, что и все > наши промышленные бухгалтерские системы, сидящие на этих самых реляционных СУБД > (1C - Mssql, Парус - Oracle), и автоматизируя кучу всевозможных рассчетов, > которые эти системы не автоматизируют, имеет: размеры базы сильно ниже, скорости > обработки существенно выше. В чем тут дело? Мне думается что тут играет > следующее: их совершенно безумные структуры в базе (очень широкие и разреженные > таблицы), как следствие - существенно меньше джойнов по таблицам. Вы знаете, я расскажу историю из моего опыта. Я занимался автоматизацией выставления счетов за выполненные работы. Старая версия была на клиппере и "работала быстро" по словам пользователей (и они не врали). Новая версия была на клиент-серверной СУБД, и работала действительно небыстро по сравнению со старой. Теперь скажу почему. Основная задача -- найти для описанной работы нужный тариф и, взяв из него сумму, сформировать счёт. Новая программа подбирала тариф автоматически. В старой программе тариф оператор выбирал руками при вбивании работы. Люди держали в голове что-то около сотни позиций тарифного справочника и отдел из 5-7 человек только этим и занимался. Я конечно не знаю, но вполне возможно в вашем случае также имеет место такая "оптимизация производительности". А вот 1с или парус можно наверное упрекнуть во многом, кроме отсутствия универсальности -- без неё они бы просто не выжили. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovинтересующаяся_мнениемНа просчет у клиента создается то, что они называют виртуальной базой, и она фиксирует последний номер транзакции, относительно которого она будет рассматривать данные. Такой вот snapshot получается. Ну, с файлом данных всё ясно: читатели не читают там, куда пишут писатели. А вот как индексы умудряются обновляться? В+ дерево же последовательно не допишешь, там всяко рандомный доступ, разделение страниц и прочие прелести, читателей нервирующие. Честно - детали я не очень поняла, но примерно там происходит следующее: 1. Индекс для читателя. В индексе на самом деле на самом низком системном уровне содержится информация обо всех версиях измененных записей. При поиске данных по индексу поиск осуществляется тоже с учетом этого последнего номера транзакции. 2. При приходе транзакции с сервера, сначала все это делается тоже в некотором виртуальном пространстве: и база достраивается и кусок индекса для новой транзакции создается, а потом уже, при реальной записи все это соединяется с тем индексом, который в файле. Если нужно детальнее - я могу эту ситуацию провинтилировать еще отдельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/30/2011 12:13 AM, интересующаяся_мнением wrote: > реализует... Городят кучу доп. структур для хранения метаданных, динамических > параметров и т.п. А разработчики Викты в таких случаях не парятся и просто > хреначят в таблицу, к примеру, счетов, очередной аттрибут и все. И вот тут мне > как раз хочется услышать тех, кто сам писал учетные системы ну или близко с ними > знаком: почему строят кучу доп. таблиц для метаданных и делают динамические > параметры на EAV, к примеру или наследуемых таблицах? Почему это нельзя сделать > проще именно в стандартной реляционной базе? Что мешает? Ну понадобился тебе > очередной аттрибут - ну сделай ты alter table и вот тебе под него место. Почему > так нельзя? Потому что жизнь гораздо сложнее, чем вы её тут описали, и "вхренячить" ещё один атрибут чаще всего -- не решение. Если можно вхренячить -- вхренячиваем. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:21 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемFinSoft... Я бы предложил немного отвлечься от обсуждения технических подробностей решения и задуматься, а какой смысл сейчас делать подобную архитектуру? Что мы имеем на сегодня. Сильно выросшую производительность компьютеров. ... Вот именно, и при этом не-производительные компьютеры как-то особенно не продаются. Соответственно при приобретении парка машин для офиса все скоро дойдет до того что даже у секретарши, которой и нужно-то что только документы в ворде набивать, будет стоять двухядерное нечто с 64-х битной архитектурой. Чего ему просто так стоять-то? Параллельно: нужно нам, пусть даже на пятьдесят человек много-много отчетов считать, причем отчеты такие,что они так или иначе перелопачивают большую часть имеющихся в базе данных. И эти пятьдесят человек еще время от времени в базу все-таки еще что-то заносят и что-то там меняют. Если мы будем все это делать на централизованном сервере - есть вероятность, что нам понадобится что-то довольно мощное, и возможно за приличные деньги. Так чего-б им эти самые много-много отчетов,не считать каждому для себя? Все равно их машины простаивают. И сервер будет не нужен, потому что каждый будет считать этот отчет в монопольном режиме, - тот, который нужен персонально ему. Поищите в интернете информацию на тему терминальных станций, там все расписано. Если Вам при построении отчетов нужно перелопачивать много данных, то это проблемы прикладного решения. Бизнес-информация носит периодический характер, поэтому отчетные периоды принято закрывать и сохранять готовые итоги для быстрого получения информации. Зачем считать бухгалтерский баланс за прошлый год, если его можно один раз сохранить по завершению года, а затем выдавать в готовом виде? Кроме этого надо учитывать, что при централизованной обработке при таком количестве пользователей все дневные обращения к базе оседают в кэше ОС, общем для всех пользователей. То есть читать все будут не с диска, а из ОЗУ. Ну и работу с отчетами можно оптимизировать. Если их много-много, то, возможно, разные пользователи формируют их с одними и теми-же параметрами. Сделайте так, чтобы в этом случае можно было брать готовый результат у другого пользователя, и обращений к базе не потребуется. По моему опыту, на 20-25 рабочих мест годится обычный бюджетный компьютер с 2 ядрами и 2ГБ ОЗУ. Сейчас уже 6-ядерные процессоры в продаже и ждут на подходе 12-ядерные. ОЗУ меньше 4ГБ на сервер ставить не принято. В общем, задумайтесь. Успехов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:22 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/30/2011 01:15 PM, Siemargl wrote: > А так - небольшие системы все прожуют. Не зря же в 1С 8, сделали свой новый > файловый механизм БД. Здесь-то не файл-сервер, а как-то типа клиент-сервер-наоборот. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:25 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
FinSoftСейчас уже 6-ядерные процессоры в продаже и ждут на подходе 12-ядерные. ОЗУ меньше 4ГБ на сервер ставить не принято. В общем, задумайтесь. Успехов. Вы кажется не поняли :) Сейчас меньше 4ГБ не принято ставить даже на клиента. О чём и речь - каждый клиент сам себе мега-мозг, а вы тут ведёте какие-то разговоры за бедность, о терминальных службах, дохленьких компутерах и одном могучем сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:27 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЕсли нужно детальнее - я могу эту ситуацию провинтилировать еще отдельно. Ага, провентилируйте, пожалуйста. А то ещё окажется, что на время записи этого "нового куска индекса" доступ в индексный файл полностью блокируется... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:33 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением.ЛПБыло бы оно в виде например таком: Сервер. По ходу дела считающий фсякие там агрегаты, олаповские кубики, и прочую шляпу. Отдающий готовые кубики по первому требованию. Клиент. С локальной копией нужных данных, всех, или только частично каких-то. MS SQL Server Compact, FB Embedded, etc. В нормальной реализации, а не в виде никому никуда не упершегося аппенд-онли лога. Настраиваемая служба нотификаций. Где можно подписаться на всё, подписаться на что-то, отписаться от чего-то, отписаться от всего. Ну и было бы о чём говорить. Примерно так это и делается в некоторых BI решениях, только без Embedded сервера на клиенте, насколько я понимаю, - просто кэшами в памяти. Просто в такой конфигурации клиент только читающим получается... (дальше мысль идет) ну наверно, можно сделать так шоб и писал - но это у вас тогда с клиента прямой коннект на сервер.... а иначе замучаетесь синхронизировать :) Если говорить в контексте обсуждения вашей системы - ну да, надо постоянный коннет к серверу. Ну так ведь и у вас надо постоянный коннект к серверу. Ну да, иначе замучаешься с синхронизацией. Ну так ведь и у вас есть конфликты синхронизации, даже несмотря на наличие постоянного коннекта к серверу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:34 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/31/2011 05:50 PM, .ЛП wrote: > Мы тут что обсуждаем, СУБД, или условия задачи? > Однако же вопрос стоял "Что вы думаете по поводу вот такой СУБД". > Ответ - "Она ужасна. Потому что способна работать только вот в таких вот > условиях, и даже при выполнении этих условий не видно преимуществ по сравнению с > любой другой". Всё правильно, я имел в виду, что даже такая ужасная СУБД может работать на таких невысоких нагрузках. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:34 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 08/30/2011 12:13 AM, интересующаяся_мнением wrote: Я конечно не знаю, но вполне возможно в вашем случае также имеет место такая "оптимизация производительности". А вот 1с или парус можно наверное упрекнуть во многом, кроме отсутствия универсальности -- без неё они бы просто не выжили. Да в том-то и дело что нет! Эта самая система делает больше и автоматизирует больше операций чем 1С и Парус. Это подтверждают клиенты, которые по настоянию начальства переходили на эти продукты. Они потом звонят и плачутся, что вот в этой системе на Викте все было автоматизировано, а тут им приходится ручками считать, - они на это дополнительных бухгалтеров были вынуждены на работу брать. Даже случаи возвратов с 1С на эту систему были, несмотря на то что предыдущая версия, в которой полный учет предприятия реализован сделана еще (шшшш.... в DOS-е) Все случаи уходов с этой системы происходили исключительно по политическим причинам и зачастую сопровождались забастовками бухгалтеров. Насчет универсальности - это тоже не так. Есть люди, которые продавали эту систему а потом еще стали продавать 1С. Они не перестают плеваться - говорят там настроить ничего невозможно, то что в системе на Викте влет делалось. Сидят на 1С исключительно по политическим причинам - ее продать легче. Вы знаете что я делаю на этом форуме? Пытаюсь понять какого хрена вся эта байда так работает. Где то зерно, которое нужно выделять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:35 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемMasterZivOn 08/30/2011 12:13 AM, интересующаяся_мнением wrote: Я конечно не знаю, но вполне возможно в вашем случае также имеет место такая "оптимизация производительности". А вот 1с или парус можно наверное упрекнуть во многом, кроме отсутствия универсальности -- без неё они бы просто не выжили. Да в том-то и дело что нет! Эта самая система делает больше и автоматизирует больше операций чем 1С и Парус. Это подтверждают клиенты, которые по настоянию начальства переходили на эти продукты. Они потом звонят и плачутся, что вот в этой системе на Викте все было автоматизировано, а тут им приходится ручками считать, - они на это дополнительных бухгалтеров были вынуждены на работу брать. Даже случаи возвратов с 1С на эту систему были, несмотря на то что предыдущая версия, в которой полный учет предприятия реализован сделана еще (шшшш.... в DOS-е) Все случаи уходов с этой системы происходили исключительно по политическим причинам и зачастую сопровождались забастовками бухгалтеров. Насчет универсальности - это тоже не так. Есть люди, которые продавали эту систему а потом еще стали продавать 1С. Они не перестают плеваться - говорят там настроить ничего невозможно, то что в системе на Викте влет делалось. Сидят на 1С исключительно по политическим причинам - ее продать легче. Очень хорошо. Значит кто-то умудрился написать хороший фреймворк, или как вы там его называете. Хороший, универсальный, кастомизируемый, весь из себя расчудесный, формочки, кнопочки, проводки, обороты, остатки, агрегаты, кубики, и фунт прованского масла сбоку. Но это всё, вот все эти проводки, фреймворки, формочки, кнопочки - они не имеют отношения к СУБД. А здешний раздел форума - именно про СУБД. Про фреймворки, кнопочки, формочки, проводочки - есть другие разделы. Разработка информационных систем. ERP системы. С подфорумом 1С. Пойдите туда, спросите, почему 1С медленно и не универсально, а у вас быстро и универсально. Или не спросите, а наоборот расскажите. Сюда же это не особо надо писать. Здесь СУБД обсуждается. Плюсы вашей информационной системы, как мне кажется, они не благодаря, а вопреки используемой СУБД. Вы знаете что я делаю на этом форуме? Пытаюсь понять какого хрена вся эта байда так работает. Где то зерно, которое нужно выделять. Есть зерно, которое надо сначала выделить, а потом выкинуть :) СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:48 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 08/31/2011 11:49 PM, интересующаяся_мнением wrote: > А вот за этот коммент - спасибо. Над ним стоит подумать. Т.е. вы хотите сказать, > что 1C и Парус сначала делают массово тяжелые селекты, потом считают все на > клиенте, а потом кладут обратно да еще и транзакцию скорее всего на всю эту > байду держат? В общем-то, да. В 1С вся обработка идёт на их языке, на клиенте. Бежится по всем записям и обрабатывается. Правда они делали новые версии под клиент-сервер, там наверное есть какие-то оптимизации, и возможно сейчас уже всё не так печально, но традиционно их ругали именно за такие подходы. И именно поэтому OEBS какой-нибудь сильно лучше в плане производительности. Но я не большой знаток этих штук, тут надо держать руку на пульсе. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.08.2011, 23:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПЗначит кто-то умудрился написать хороший фреймворк, или как вы там его называете. Хороший, универсальный, кастомизируемый, весь из себя расчудесный, формочки, кнопочки, проводки, обороты, остатки, агрегаты, кубики, и фунт прованского масла сбоку. MasterZivВ общем-то, да. В 1С вся обработка идёт на их языке, на клиенте. Бежится по всем записям и обрабатывается. Правда они делали новые Суммируем 2+2. 1С такой тормоз, потому что начинался как файл-серверный, а при переходе на клиент-сервер сохранил предыдущие принципы и подходы к обработке, - переписать было слишком дорого, потому что "вся обработка ведется на их языке" В Викте: "значит кто-то умудрился написать хороший фреймворк"... Трабель в том, что этот самый фреймворк неофигенно переплетен с БД и "вся обработка ведется на их языке, на клиенте". Выкинуть БД=переписать все или получить болячки 1С. Однако: Викта-таки сделала то, что не сделал в свое время 1С положившись на файл-серверную реализацию: а именно "сложила данные и их обработку в одно место", пусть и сделав это шиворот навыворот - именно этот факт, позволяет ей совершать обработку быстрее и делать больше, чем аналогичные продукты на схожих объемах. И это же, кстати, позволило ей легко наращивать функционал: при добавлении отчетов, они оформляются утилитками на встроенном языке и подкладываются к системе в виде очередного дополнительного модуля... и обрабатываются там же, где лежат данные. Где-то так у меня получилось. Все правильно - она заткнется, если объем данных или скорее изменений данных превысит какой-то определенный лимит. Кстати, насчет объемов - я наверно не очень хороший пример приводила про рассчет зарплаты: там ведь на самом деле очень сложная логика, - каждый человек по отдельности считается, - с учетом кучи всяких параметров (отпуска, стаж, премии, календарь, рабочие часы и т.п.). Просто с точки зрения бух. учета это довольно сложная операция, поэтому она и приводится в пример. Другой пример - оборотно-сальдовая ведомость за год на примерно 400 тыс. документов, - тоже около 2-х минут. При этом, если рассматривать вариант клиент-сервер, то для того, чтобы обеспечить должную эффективность, нам по идее, нужно наращивать функционал тоже на сервере, в виде хранимых процедур, например. И сделать клиента совсем-совсем глупеньким. Тогда другие фишки потеряются: у них ведь как, - вот работает система. Раз чего-то не получается. Ты - раз в обработчик, подправил алгоритм и все правильно теперь считается. Если ХП на сервере - пользователь так просто уже не залезет (Не бейте меня камнями :) Я знаю, что с точки зрения безопасности и защиты системы - это зло :) ). Отчета нехватает - раз, - тут же формочку слабал, формулки навесил, алгоритм какой-то вычислений если что-то сложное - система всосала и продолжает работать... Это примерно как сайт развиваешь: не хватает чего-нибудь. Ты раз JSP-шку, повесил на сайт и вот она у тебя уже включилась в работу, свою логику какую-то исполняет... Только здесь еще и компилляция на лету и пошаговый отладчик если что... А все старое как работало, так и продолжает работать. Если все это разбивать на клиент-сервер... сложно получается вот с такими вот фишками. Можно конечно прослойки, API для доступа к данным... Но они все-равно будут ограниченными... и все равно будут тянуть данные на клиента, чтобы потом на клиенте же их и обрабатывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 00:49 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемДа в том-то и дело что нет! Эта самая система делает больше и автоматизирует больше операций чем 1С и Парус. Это подтверждают клиенты, которые по настоянию начальства переходили на эти продукты. Они потом звонят и плачутся, что вот в этой системе на Викте все было автоматизировано, а тут им приходится ручками считать, - они на это дополнительных бухгалтеров были вынуждены на работу брать. Даже случаи возвратов с 1С на эту систему были, несмотря на то что предыдущая версия, в которой полный учет предприятия реализован сделана еще (шшшш.... в DOS-е) Все случаи уходов с этой системы происходили исключительно по политическим причинам и зачастую сопровождались забастовками бухгалтеров. но судя по сайту, реализовано только 4 направления: Расчет заработной платы Питание Электронный деканат Учет кадров я ни в 1С, ни в производственной бухгалтерии не силен(точнее полный ноль), но что-то мне подсказывает что 1С умеет несколько больше может всё-таки уход был не по политическим мотивам, а действительно требовалась другая функциональность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 01:29 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемСуммируем 2+2. 1С такой тормоз, потому что начинался как файл-серверный, а при переходе на клиент-сервер сохранил предыдущие принципы и подходы к обработке Вы чего-то как-то не так суммируете. И вообще непонятно откуда взяли вот это вот. Файл-серверность и тормоза 1С слабо связаны. Есть же куча самописных учётных систем, в том числе на файл-серверной архитектуре. Которые тормозами не страдают. Курсорную обработку если б упомянули, еще понятно было бы, но курсоры и файл-серверы - это совсем не синонимы, и даже не из одной оперы. Есть учётные системы и файл-серверные, не страдающие тормозами, и клиент-серверные не страдающие тормозами, и клиент-серверные, страдающие тормозами, и файл-серверные, страдающие тормозами. Вот 1С - пример тормоза и в файл-серверной, и в клиент-серверной инкарнации. Как вам уже неоднократно было сказано, тормоза или нетормоза учётной системы, всяких там расчётов зарплат аж на тысячу сотрудников, и прочих рабочих мест тридцати бухгалтеров - они вообще практически никак не кореллируют с СУБД. Ни с СУБД, ни с файл-серверной или клиент-серверной архитектурой, ни со способом хранения в виде XML-файла или аппенд-онли лога. Вы не там пытаетесь выкопать ответ на вопрос "почему 1С тормозит". В Викте: "значит кто-то умудрился написать хороший фреймворк"... Трабель в том, что этот самый фреймворк неофигенно переплетен с БД Это плохо. Однако: Викта-таки сделала то, что не сделал в свое время 1С положившись на файл-серверную реализацию: а именно "сложила данные и их обработку в одно место" Глупость какую-то очередную пишете. Данные и их обработка - всегда в одном и том же месте. По другому в принципе невозможно. Если там, где происходит обработка, нету данных - то и обрабатывать нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 01:41 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемА тут конфликты... слишком сложная логика выходит. Пусть уж лучше человек объявляет - это теперь сервер, - его не выключать. Это называется - позиция страуса :) Закопать голову в песок, дабы не видеть проблемы (и админ не нужен, да ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 08:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемShlippenbaranusВооот. Достоинство этой системы - ей сисадмина не надо. Все равно сидит и курит. И никуя не делает :). Ну собсно так и происходит на практике :) В большинстве контор, где это стоит ни о каком админе даже слыхом не слыхивали. Там где побольше народу, - там сидят мальчики, но тоже в основном доработкой отчетов занимаются. А администрированием всего этого хозяйства никто не занимается. Я продолжительное время работал админом у местного Internet-провайдера. Таки да, большую часть времени занимался фигней: дорабатывал отчеты, цапался со всеми начальниками отделов по поводу постановок задач, разбирал полеты с особо буйными абонентами База упала один раз (по вине технического директора), зато упала хорошо :) Собственно, если бы я ее не поднял из архивлогов, конторе (как Internet-провайдеру) в регионе, с большой вероятностью пришел бы трындец. Ну ладно, была еще пара мелких случаев, когда приходилось чинить файловую систему на сервере БД, но там было все не так драматично. Но так да, Вы абсолютно правы (большую часть времени) (кажется, что) админ не нужен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 09:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir BaskakovАга... начинаю понимать. В переводе на эскуэль - сделал апдейт или инсерт - сделай селект и сравни, то ли заселектилось, что ты изменял, или нет... да. Да не, все проще. Просто в update добавляются дополнительные проверки (по тем полям, которые не меняли). Если update изменил 0 строк - значит строку успел поменять кто-то другой и надо перечитать. Ну а на счет библиотек, как правило прямым DML в базу редко кто пользуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 09:07 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakovmumps - не похож ли на представленный движок? Глобали всякие... За что спасибо обсуждению - начинаешь ценить простые вещи... понимаешь - сколько труда было вложено в БД разработчиками.... чтоб оно прозрачно гарантировало все то, к чему так легко привыкаешь... Mumps на несколько порядков сложнее. Просто сделан неадекватами для неадекватов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 09:07 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Что-то эта штука сильно попахивает FVMasом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 09:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuper интересующаяся_мнением... предыдущая версия, в которой полный учет предприятия реализован ... но судя по сайту, реализовано только 4 направления: Расчет заработной платы Питание Электронный деканат Учет кадров Полный учет в предыдущей версии. Ее не продают сейчас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 10:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, Вы хоть скажите на большие ли бабки расчитываете, если бы Ваша эта Вятка оказалась луче нормальных СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 11:27 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Вопрос: а как в обсуждаемой СУБД реализуется разграничение доступа к данным? Если я правильно понял, по концепции СУБД каждый клиент держит локальную копию ВСЕХ хранящихся в системе данных, так что даже сам его статус "клиента" условен - в любой момент он может стать "сервером", что выражается просто в дополнительной работе, которую он будет вынужден производить (это как статус "начальника" в небольшой девелоперской организации :)). И я не скажу, что такой подход в принципе плох: человек, например, концептуально устроен точно так же. В ДНК каждой клетки хранится информация об устройстве всего организма. НО: в современных реалиях.... Получается, клерк у них теоретически может выколупать из своей копии базы информацию, которая должна быть доступна только директору? А вдруг маски-шоу? Или просто сопрут один комп - вместе с ним преступникам станет доступна вся информация обо всей организации? При всем уважении - это действительно, "ни на что не похоже" :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 11:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusВопрос: а как в обсуждаемой СУБД реализуется разграничение доступа к данным? ... При всем уважении - это действительно, "ни на что не похоже" :( Ну почему же "ни на что". Похоже. На файл-сервер. Оно файл-серверной базой не является, но родовые болячки унаследовало. ФС применимы только при условии пониженых требований к безопасности и отказоустойчивости. Допускается, что часть данных может быть потеряна. Ну и допускается, что данные могут быть украдены. Второе, в общем-то, следует из первого, (нафиг не нужно вешать замок на карман, если карман дырявый). При этом какое-то минимальное усложнение жизни для взломщиков наверное есть. В ФС это всякие парольные доступы и шифрования. Здесь осложняющим фактором является неизвестность формата. А программный доступ может быть осложнён кердыперды-паттерном :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 11:48 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Похоже на RSS ленту. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 11:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusИ я не скажу, что такой подход в принципе плох: человек, например, концептуально устроен точно так же. В ДНК каждой клетки хранится информация об устройстве всего организма. Да ты шо o O ? Это что же, клетка кожи взятая у меня из ... пятки знает обо всех шрамах на роже??? ахренеть !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 12:35 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Да ты шо o O ? Это что же, клетка кожи взятая у меня из ... пятки знает обо всех шрамах на роже??? ахренеть !!!О шрамах - нет (если шрам большой, то - знает, не помню мудреный термин этого эффекта), но о форме носа - да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 13:23 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
WarstoneGluk (Kazan)Да ты шо o O ? Это что же, клетка кожи взятая у меня из ... пятки знает обо всех шрамах на роже??? ахренеть !!!О шрамах - нет (если шрам большой, то - знает, не помню мудреный термин этого эффекта), но о форме носа - да. ДНК более сложная чем просто хранилище битов информации. В ней существуют избыточности которые еще не исследованы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 13:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемДа в том-то и дело что нет! Эта самая система делает больше и автоматизирует больше операций чем 1С и Парус. Это подтверждают клиенты, которые по настоянию начальства переходили на эти продукты. Они потом звонят и плачутся, что вот в этой системе на Викте все было автоматизировано, а тут им приходится ручками считать, - они на это дополнительных бухгалтеров были вынуждены на работу брать. Даже случаи возвратов с 1С на эту систему были, несмотря на то что предыдущая версия, в которой полный учет предприятия реализован сделана еще (шшшш.... в DOS-е) Все случаи уходов с этой системы происходили исключительно по политическим причинам и зачастую сопровождались забастовками бухгалтеров. Насчет универсальности - это тоже не так. Есть люди, которые продавали эту систему а потом еще стали продавать 1С. Они не перестают плеваться - говорят там настроить ничего невозможно, то что в системе на Викте влет делалось. Сидят на 1С исключительно по политическим причинам - ее продать легче. Навеяло... 11203211 ДедалОтказ организаций от FVMas оказался преувеличенным, посчитав затраты на уход от FVMas - а этот вопрос стал принципиальным, стало понятно что затраты привысят 10.000.000 рублей и при всём при этом организации утратят как минимум половину имеющейся функциональности... В результате - в даный момент тупиковая ситуация, с одной стороны попытки отказа от FVMas - с другой стороны все понимают что отказ от FVMas оставит всю оганизацию без зарплаты... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 13:50 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonWarstoneпропущено... О шрамах - нет (если шрам большой, то - знает, не помню мудреный термин этого эффекта), но о форме носа - да. ДНК более сложная чем просто хранилище битов информации. В ней существуют избыточности которые еще не исследованы. Это ты про то, что у меня есть жабры? да насрать :) Про шрамы и бородавки (хоть какого размера) там, зуб даю, ничего нет Ну разьве что ДНК непосредственно из бородавки забирать, тада да P.S. Как задрала вся эта околонаучная мифология ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:06 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusВопрос: а как в обсуждаемой СУБД реализуется разграничение доступа к данным? Если я правильно понял, по концепции СУБД каждый клиент держит локальную копию ВСЕХ хранящихся в системе данных, так что даже сам его статус "клиента" условен - в любой момент он может стать "сервером", что выражается просто в дополнительной работе, которую он будет вынужден производить (это как статус "начальника" в небольшой девелоперской организации :)). Тут .ЛП правильно оценил ситуацию: имеется шифрование самих данных базы + парольный доступ к фреймворку. (Если попрут - вряд-ли расшифруют :) ) Разделения доступа на уровне конкретных данных нет. Это конечно хрень которую надо менять: ежику понятно что организации, хоть сколько-нибудь заботящиеся о безопасности данных такое не пропустят. ShlippenbaranusИ я не скажу, что такой подход в принципе плох: человек, например, концептуально устроен точно так же. В ДНК каждой клетки хранится информация об устройстве всего организма. Забавно, что главный разработчик тоже очень любит приводить всякие аналогии с ДНК и принципами организации жизни :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:43 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПинтересующаяся_мнениемДа в том-то и дело что нет! Эта самая система делает больше и автоматизирует больше операций чем 1С и Парус. Это подтверждают клиенты, которые по настоянию начальства переходили на эти продукты. Они потом звонят и плачутся, что вот в этой системе на Викте все было автоматизировано, а тут им приходится ручками считать, - они на это дополнительных бухгалтеров были вынуждены на работу брать. Даже случаи возвратов с 1С на эту систему были, несмотря на то что предыдущая версия, в которой полный учет предприятия реализован сделана еще (шшшш.... в DOS-е) Все случаи уходов с этой системы происходили исключительно по политическим причинам и зачастую сопровождались забастовками бухгалтеров. Насчет универсальности - это тоже не так. Есть люди, которые продавали эту систему а потом еще стали продавать 1С. Они не перестают плеваться - говорят там настроить ничего невозможно, то что в системе на Викте влет делалось. Сидят на 1С исключительно по политическим причинам - ее продать легче. Навеяло... 11203211 ДедалОтказ организаций от FVMas оказался преувеличенным, посчитав затраты на уход от FVMas - а этот вопрос стал принципиальным, стало понятно что затраты привысят 10.000.000 рублей и при всём при этом организации утратят как минимум половину имеющейся функциональности... В результате - в даный момент тупиковая ситуация, с одной стороны попытки отказа от FVMas - с другой стороны все понимают что отказ от FVMas оставит всю оганизацию без зарплаты... Я не знаю что за зверь FVMas, но история про возвраты - реальный факт. Вот здесь посмотрите, отзыв от НИИХСМ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:48 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемТут .ЛП правильно оценил ситуацию: имеется шифрование самих данных базы + парольный доступ к фреймворку. (Если попрут - вряд-ли расшифруют :) ) Ээээ.... я "оценил" как оно делается (может быть сделано) в файл-серверных системах. При этом я в общем-то понимаю, что шифрование там, извините, "на отъебись". Иначе оно сдохнет. У вас стало быть тоже шифрование? Т.е. мало того, что аппенд-онли лог от ишачьей пасхи до сегодня, так он ещё и шифрованый? Это наверное чтобы оно побыстрее писалось-читалось, не иначе. Приятное дополнение к неотключаемой обработке всех бродкастовых нотификаций. А ключ шифрования, наверное, один на всех. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:50 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемТут .ЛП правильно оценил ситуацию: имеется шифрование самих данных базы + парольный доступ к фреймворку. (Если попрут - вряд-ли расшифруют :) ) В подобного рода архитектурах гораздо проще скомпрометировтаь систему чем её расшифровывать. Потенциальных дырок в ней столько что стойкость шифрования особой роли не играет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:52 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЯ не знаю что за зверь FVMas Почитайте на досуге. Тут далеко ходить не надо. http://www.sql.ru/forum/actualthread.aspx?tid=708369 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:52 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
На самом деле, обсуждение для меня стало довольно познавательным: сейчас уже есть четкое понимание, что дело не настолько в БД: если ее рассматривать как отдельную сущность, она действительно выглядит проигрывающей почти во всем, без видимых преимуществ, - тут .ЛП прав. (Ну разве что насчет отказоустойчивости я не соглашусь - такая архитектура и правда почти неуничтожима, не требуя при этом специальных действий со стороны админа по поддержанию этой неуничтожимости) Похоже дело-таки в работе фреймворка и, возможно его связке с этой БД, - не исключено что одно без другого так работать не будет... ну и особенности строения прикладной части тоже. Так что похоже, пришла пора копать выше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 14:55 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемНу разве что насчет отказоустойчивости я не соглашусь - такая архитектура и правда почти неуничтожима, не требуя при этом специальных действий со стороны админа по поддержанию этой неуничтожимости Понимаете ли, даже неуничтожимость не всегда является плюсом. Иногда ведь нужна "уничтожимость" :) На одном из моих мест работы в лихие девяностые была очень простая схема защиты от шоу масок. Приехали маски-шоу - их всеми правдами и неправдами задерживают на минуту-другую - за это время админ из центрального филиала (из другого города) намертво убивает сервер БД. - Где у вас бухгалтерия? - Вот она. Но она почему-то не работает, паламалася, бида, бида, огорчение... - Где у вас админ? У нас есть паяльник, у него есть бекапы! - А у нас нет админа... совсем... И действительно, админа нет в этом филиале. Совсем. Никакого. И бекапов в этом филиале нет. Совсем. Никаких. И паяльник некуда вставлять. Сравните с вашим "полная копия всех данных находится на любом клиенте". Похоже дело-таки в работе фреймворка и, возможно его связке с этой БД, - не исключено что одно без другого так работать не будет... Да и пусть оно будет работать не "так". Пусть работает по-другому. Медленнее - не страшно. Гораздо хуже, когда потенциальный заказчик, ознакомившись со спецификациями, выберет продукт конкурентов, который хоть и медленнее, но зато хранит данные в MS SQL Server, Oracle, Firebird, хде угодно, но не в собственной наколенной базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 15:19 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЯ не знаю что за зверь FVMas, Ну это из новых в разделе "Друие СУБД" интересующаяся_мнениемно история про возвраты - реальный факт. Вот здесь посмотрите, отзыв от НИИХСМ Посмотрел все отзывы: если перенесете ветку раздел "Друие СУБД", то, возможно, Вам стоит подумать о ее названии там типа: "Старая платная СУБД Вятка". Это типа в противес дву имещимся там новым, но бесплатным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 15:23 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемЗабавно, что главный разработчик тоже очень любит приводить всякие аналогии с ДНК и принципами организации жизни :) Недаром мне эта система понравилась :). Вот вам еще аналогия: есть такая рыба - акула. Даже не рыба, если верить отдельным товарищам. До-рыба. Древняя тварь, примитивная. Мешок с кишками, которые, кроме воды, ничем не поддерживаются. Ее конструкция в любом отдельно взятом отношении невероятно устарела, и, если смотреть свысока, однозначно проигрывает конструкциям более высокоразвитых организмов. А ведь живет - считай, уже полмиллиарда лет. Дай бог "высокоразвитому" человечеству прожить хоть бы сотую долю от этого срока. Мы вымрем - а акула будет жить. За счет чего она настолько эффективна? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 15:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
>Мы вымрем - а акула будет жить. Это ещё не факт! (цэ)А.К.Д. >За счет чего она настолько эффективна? Неужели вы намекаете на то, что из одной разрубленной акулы вырастут две? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Shlippenbaranus, в наше время очень трудно создать что-то принципиально новое. Если это очередная БД "на файлах" демонстрирует хорошую выживаемость в условиях какого-то узкого сектора ПО - то это хорошо. Но как и в определении с акулой (рыба/не рыба) я был-бы очень осторожен в терминах. Является ли эта система Базой Данных или просто "плоским файлом" или "рулоном операций" - большой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:03 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Shlippenbaranusинтересующаяся_мнениемЗабавно, что главный разработчик тоже очень любит приводить всякие аналогии с ДНК и принципами организации жизни :) Недаром мне эта система понравилась :). За что кукушка хвалит петуха??? Ребят, завязывайте уже со своим PR-ом, совесть надо знать. А акулы не выживут, мы их всех перебьем на плавники, не переживайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
А мне жалко акул. У человечества такой стеретип что как только вы увидели плавник на поверхности моря - надо срочно бежать на берег а потом соотв. на катерах с гарпунами ловить бедненькую. Дескть - акула-людоед! Тьфу. Сколько людей дохнет в автокатастрофах, сколько от укусов насекомых, крыс или хищных зверей статистика более значивмая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнениемНа самом деле, обсуждение для меня стало довольно познавательным: сейчас уже есть четкое понимание, что дело не настолько в БД: если ее рассматривать как отдельную сущность, она действительно выглядит проигрывающей почти во всем, без видимых преимуществ, - тут .ЛП прав. (Ну разве что насчет отказоустойчивости я не соглашусь - такая архитектура и правда почти неуничтожима, не требуя при этом специальных действий со стороны админа по поддержанию этой неуничтожимости) Похоже дело-таки в работе фреймворка и, возможно его связке с этой БД, - не исключено что одно без другого так работать не будет... ну и особенности строения прикладной части тоже. Так что похоже, пришла пора копать выше... Можно даже глубже! копать. В смысле - если хотите, чтоб народ поругал и систему, построенную поверх движка - выкладывайте описание подробное... Давно тут была тема, в готорой господин интересовался - у меня мол есть экспедитор, который регулярно пересекает полярный круг. И когда он севернее полярного круга - ему надо считать северную надбавку, а южнее - не надо... В викте есть окошко, куда вводят дату и время пересечения полярного круга? Я к тому, что расчет зп, больничных, отпусков с надбавками, коэффициентами и прочим пересечением отпуска с больничным например - не такое простое дело... там есть свои тонкости наверное. В деле этом... И сдается мне - что есть на славном форуме добрые люди, которые фишку то рубят... аха... ну собственно начали уже ругать. Расчет ЗП есть - а больше бухгалтерии нет. Тады ой! нужно рядом с виктой держать еще одну систему. ТЕ в нынешнем продаваемом виде система отнюдь не самодостаточна. Вопрос совсем глупый - банальные зарплатные ведомости распечатать.... Туда самопальная печаталка отчетов входит, или только экспорт в эксель? а если внешний вид поменять надо эксельного экспорта - как делается? ох.... ох.... ох... не, я верю, что есть внедрения, и люди пользуются, и все такое.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:21 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Shlippenbaranusпропущено... Недаром мне эта система понравилась :). За что кукушка хвалит петуха??? Ребят, завязывайте уже со своим PR-ом, совесть надо знать. Ув., отстань! Почему нельзя доброе слово сказать человеку, чтобы тебя тут же в сговоре не обвинили? maytonА мне жалко акул. У человечества такой стеретип что как только вы увидели плавник на поверхности моря - надо срочно бежать на берег а потом соотв. на катерах с гарпунами ловить бедненькую. Дескть - акула-людоед! Тьфу. Сколько людей дохнет в автокатастрофах, сколько от укусов насекомых, крыс или хищных зверей статистика более значивмая. :). Очень правильно. С небольшими поправками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:24 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusУв., отстань! Почему нельзя доброе слово сказать человеку, чтобы тебя тут же в сговоре не обвинили? Товарисч, помни - добрым словом и пистолетом можно добиться большего, чем добрым словом! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:29 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusУв., отстань! Почему нельзя доброе слово сказать человеку, чтобы тебя тут же в сговоре не обвинили? Не надо указывать мне что делать :) И не надо нарушать правил форума. Ваша совместная деятельность носит ярко выраженный рекламный характер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 16:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)ShlippenbaranusУв., отстань! Почему нельзя доброе слово сказать человеку, чтобы тебя тут же в сговоре не обвинили? Не надо указывать мне что делать :) И не надо нарушать правил форума. Ваша совместная деятельность носит ярко выраженный рекламный характер Ну, судя по тому как стремительно все замолчали, я прав :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:34 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПНа одном из моих мест работы в лихие девяностые была очень простая схема защиты от шоу масок. Сравните с вашим "полная копия всех данных находится на любом клиенте". Никогда не понимал людей, которые ведут записи о своей преступной деятельности. 2интересующаяся: так что там у вас с синхронизацией работы с индексным файлом? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:39 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovНикогда не понимал людей, которые ведут записи о своей преступной деятельности. Это ты про что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:49 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПЭто ты про что? Это про изъятие БД органами. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:52 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПDimitry SibiryakovНикогда не понимал людей, которые ведут записи о своей преступной деятельности. Это ты про что? Не факт что преступной. Есть много причин по которым кто-то очень захочет вам навредить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛПЭто ты про что? Это про изъятие БД органами. По твоему органы, изымающие БД, занимаются преступной деятельностью? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:53 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛППо твоему органы, изымающие БД, занимаются преступной деятельностью? По-твоему они смогут найти доказательства преступной деятельности в изъятой БД?.. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛППо твоему органы, изымающие БД, занимаются преступной деятельностью? По-твоему они смогут найти доказательства преступной деятельности в изъятой БД?.. Доказательства преступной деятельности можно найти даже в ослиной моче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 17:59 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛППо твоему органы, изымающие БД, занимаются преступной деятельностью? По-твоему они смогут найти доказательства преступной деятельности в изъятой БД?.. Без понятия. Не моего ума дело. Но делать органам там нечего, в этой БД. Кто-то из руководства так считает. И это его (руководства) право, так считать. Вся установленная законом документация - всегда пожалуйста, весь чемодан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПВся установленная законом документация - всегда пожалуйста, весь чемодан. И вот тут мне уже любопытно: какая в вашей организации ведётся документация, не установленная законом? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:04 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛПВся установленная законом документация - всегда пожалуйста, весь чемодан. И вот тут мне уже любопытно: какая в вашей организации ведётся документация, не установленная законом? Неужели непонятно - документация как раз вся "чистая". А вот БД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛПВся установленная законом документация - всегда пожалуйста, весь чемодан. И вот тут мне уже любопытно: какая в вашей организации ведётся документация, не установленная законом? Без понятия. Список вредных привычек троюродных дедушек главных поставщиков. Исключительно с согласия дедушек. Кстати, а почему ты ведёшь разговор в настоящем времени? Я так думал, что девяностые закончились в двухтысячном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:09 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПКстати, а почему ты ведёшь разговор в настоящем времени? Я так думал, что девяностые закончились в двухтысячном. Потому что в двухтысячном предмет обсуждения данного топика с природе не существовал. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov.ЛПКстати, а почему ты ведёшь разговор в настоящем времени? Я так думал, что девяностые закончились в двухтысячном. Потому что в двухтысячном предмет обсуждения данного топика с природе не существовал. Зато существовала проблема "уничтожимости". И сейчас, наверное, существует. У кого-то где-то :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:27 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПИ сейчас, наверное, существует. У кого-то где-то :) Значит этот "кто-то где-то" - не их клиент. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:30 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПотому что в двухтысячном предмет обсуждения данного топика с природе не существовал. Кстати, по утверждениям - существовал :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 18:50 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПКстати, по утверждениям - существовал :) Мне почему-то в памяти осел возраст 9 лет... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 19:00 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovМне почему-то в памяти осел Надо избавляться от осла в памяти :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 19:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
.ЛПНадо избавляться от осла в памяти :) Не могу: это он шарики с роликами крутит. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2011, 19:25 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
On 01.09.2011 15:55, интересующаяся_мнением wrote: > видимых преимуществ, - тут .ЛП прав. (Ну разве что насчет отказоустойчивости я > не соглашусь - такая архитектура и правда почти неуничтожима, не требуя при этом > специальных действий со стороны админа по поддержанию этой неуничтожимости) Вы сначала внятно объясните, за счёт чего durability обеспечивается, прежде, чем такое говорить. И atomicity и consistency распределённой передачи данных на все машины. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2011, 10:03 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
MasterZivВы сначала внятно объясните, за счёт чего durability обеспечивается, прежде, чем такое говорить. Дык не обеспечивается дюрабильность. Прямым же текстом было сказано - "если что, последние данные ещё раз внесут". Причём необходимость такого повторного перевбития может возникнуть не только в результате глобально-эпического дизастера любого маштаба глобальной эпичности (тут претензий нет, от дизастеров на 100% никто не застрахован), но и в результате вполне допустимых и корректных с точки зрения системы действий (подумаешь, сервером не ту машину сделали, система же такие действия позволяет). И atomicity и consistency распределённой передачи данных на все машины. За атомарность не скажу, но распределённой консистентностью тоже вроде не пахнет. Т.к. чужие транзакции могут быть хотя бы временно пропущены, и работа станции в момент этого "временнно" не блокируется. По крайней мере читать из своего локального набора (несогласованного в текущий момент) система опять таки позволяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2011, 12:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
(грустно) Ученые открыли секрет долголетия ежей. Выяснилось, что никакого секрета нет. Да и живут эти милые зверюшки совсем недолго.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.09.2011, 18:44 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Если заглянуть на сайт разработчика, то станет понятно, что язык, заложенный в фреймворк, работает с объектами. Видимо, под работу с объектами и понадобилось разрабатывать свою СУБД с переменным числом атрибутов в записи. Поэтому переписать фреймворк на работу с РСУБД, как советуют некоторые товарищи, вряд ли получится. Архитектура действительно своеобразная, и можно даже придумать задачи, для которых она будет наилучшей. Какие-нибудь многовариантные расчеты, требующие большого объема данных. Если Инересующуюся_мнением все же убедили, что неправильно тащить базу на клиента, пусть рассмотрит уже помянутый недобрым словом в этом топике mumps (Cache, GT-M). На глобалях mumps (кстати они есть В-дерево в чистом виде) в каждом узле можно хранить переменное число атрибутов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.10.2011, 15:32 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
интересующаяся_мнением, я прочитал полностью только статью по ссылке на первой странице и саму первую страницу. Остальное не читал, так как по своему опыту примерно догадываюсь, что там написано. Вот Вам моем мнение по поводу особенностей БД "Викта". 1. Архитектура при которой данные центральной базы тиражируются на клиентские компьютеры действительно позволяет добиваться высокой производительности в ИС класса ERP. Мы сами долгое время занимаемся такими системами, и пришли к такому же варианту решения, реализовали его, и по своей практике оценили на 5+. Вот материалы. . У нас другой принцип обновления, и есть поддержка SQL, но это детали. Главная идея – локальный копии данных - одинакова. Но! Высокой производительности многопользовательских ИС можно достигать и другими средствами - правильное проектирование и программирование, кластерные SQL-сервера, мощные аппаратные ресурсы. Большинство так и привыкли делать. И на их стороне стоят их успешные проекты, и вникать в "революции" до тех пор пока о них не объявит крупный вендор с мировым именем они не будут. 2. Хранимые агрегаты, рассчитываемые аккуратно по приращениям, - это тоже из нашей успешной практики. Но этот примём встречается в других практиках настолько часто, что его нужно называть не уникальным, а обыкновенным правильным решением для БД ERP . 3. Выигрыши от использования потокового файл,, в который любые изменения пишутся в конец, сильно преувеличены или даже ошибочны. Версионная архитектура реализуется и без таких крайностей. В том числе. Диагностика конфликтов обновление, приведенного в статье, имеет старое и древнее решение для любых систем и без всяких блокировок. Ведь у любого клиента БД имеется копия записи до редактирования и он может использовать ее для проверки неизменности данных другим пользователем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.10.2011, 14:35 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Нельзя хранить всю базу у клиентов. Это вопиющее нарушение всех принципов безопасности доступа к данным. На этом точка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2011, 17:40 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Random_GoodmanНельзя хранить всю базу у клиентов. Это вопиющее нарушение всех принципов безопасности доступа к данным. На этом точка. Зачем так категорично? Никто и не говорит, что нужно хранить всю базу на каждом клиенте. Вот рассуждения об информационной безопасности для такого подхода. Кратко: 1. Локальные данные содержать только ту часть центральной БД, которая разрешена пользователю данного рабочего места. 2. Локальные данные располагаются на зашифрованном разделе локального диска. Таким образом: 1.Кража локальных файлов самим пользователем корпоративного приложения бессмысленна. Вся определенная ему информация и так ему доступна, ведь он работает с ней через приложение. А все ‘для него секреты’ не поступают в его локальные хранилища. 2. Кража локальных файлов другим пользователем, имеющим доступ к компьютеру с приложением, но не знающим пароля не возможна из за локального шифрования. Оспорьте приведенные тезисы, или скажите свои. Точку поставить всегда успеем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2011, 18:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Автор четко сказала, что в случае падения сервера любая из АРМ может им стать, достаточно проставить флажок. Таким образом, это даже не облако. Это растиражированная по клиентам БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 09:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
авторКража локальных файлов другим пользователем, имеющим доступ к компьютеру с приложением, но не знающим пароля не возможна из за локального шифрования. шифрование - не проблема, если знаешь ключ, а ключ у всех и так есть, иначе нельзя было бы "проставить флажок". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 09:19 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Random_GoodmanавторКража локальных файлов другим пользователем, имеющим доступ к компьютеру с приложением, но не знающим пароля не возможна из за локального шифрования. шифрование - не проблема, если знаешь ключ, а ключ у всех и так есть, иначе нельзя было бы "проставить флажок". 1.Если нарушитель не является пользователем системы, то ключа у него нет. 2.Если нарушитель это пользователь системы, то красть информацию он будет из самой системы, используя при этом ее экранные и печатные формы, включая экспорт последних в то, что поддерживается эта ИС. Это гораздо проще, чем ковыряться в локальных файлах. Random_Goodman, да, у автора говориться, что локальная копия - это полная копия БД. Это нужно рассматривать только как недостаток отдельной реализации. Недостаток этот относительно легко устраним (смотри мои ссылки на нашу систему) и он не ставит точку ;) в развитии идеи локальных файлов в целом. Ключом к решению проблем безопасности является формирование усеченной локальной копии БД. И еще. Нахождение и правильная реализация действенных критериев усечения строк и столбцов таблиц в локальных или сетевых копиях обеспечит построение информационно безопасных и при этом высокопроизводительных по скорости приложений. Выигрыш достигается за счет того, что решение о доступности данных конкретной записи или поля приниматься один раз, в момент помещения их в копию. При последующем выполнении различных читающих операций по локальным хранилищам, ни записи таблиц, ни значения полей не подвергаются проверкам на доступность, так как запрещенные данные там отсутствуют. Решение такого уровня не может быть реализовано в рамках любой архитектуры, при которой данные не дублируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 10:55 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaЭто гораздо проще, чем ковыряться в локальных файлах.Гораздо проще тупо унести всю БД (и клиента) к себе домой/куда-нибудь ещё, а там уже делать с ней что заблагорассудится (в том числе и печатать отчёты/скриншотить экранные формы/...). Не? artemanaКлючом к решению проблем безопасности является формирование усеченной локальной копии БД .Это будет уже другая система, ведь смысл этой как раз в том, чтобы у всех было всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 17:51 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
tanglirartemanaЭто гораздо проще, чем ковыряться в локальных файлах.Гораздо проще тупо унести всю БД (и клиента) к себе домой/куда-нибудь ещё, а там уже делать с ней что заблагорассудится (в том числе и печатать отчёты/скриншотить экранные формы/...). Не? Можно сделать так, что приложение без связи с центральной БД не захочет работать ни у кого дома. Например, одна часть ключа шифрования вводится пользователем, а другая часть берется с сервера. Его конечно можно сковырнуть, но это уже гораздо сложнее чем укарсть информацию из самой системы. Ведь там: интуитивно понятный интерфейс, широкие возможности, гибкость ... ;) tanglirartemanaКлючом к решению проблем безопасности является формирование усеченной локальной копии БД .Это будет уже другая система, ведь смысл этой как раз в том, чтобы у всех было всё. Нет, это не смысл. Повторюсь, то, что у автора всё есть у всех - это небольшая, легко устранимая недоработка отдельной реализации архитектуры с локальными копиями данных. Завтра он приделает к своей системе тиражирования изменений входящий фильтр, при этом остальная часть системы практически не заметит этого. Смысл же в том, что бы каждый мог выполнить большинство своих читающих операций без обращения у центральному серверу. Для нужд безопасности, не более и не менее, было бы неплохо, чтобы эти операции выполнялись бы на усеченном наборе данных, сформированном индивидуально для групп пользователей (ролей). Был бы автор, он бы наверное подтвердил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 18:37 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemana tanglirпропущено... Это будет уже другая система, ведь смысл этой как раз в том, чтобы у всех было всё. Нет, это не смысл. Повторюсь, то, что у автора всё есть у всех - это небольшая, легко устранимая недоработка отдельной реализации архитектуры с локальными копиями данных. Завтра он приделает к своей системе тиражирования изменений входящий фильтр, при этом остальная часть системы практически не заметит этого. Смысл же в том, что бы каждый мог выполнить большинство своих читающих операций без обращения у центральному серверу. Для нужд безопасности, не более и не менее, было бы неплохо, чтобы эти операции выполнялись бы на усеченном наборе данных, сформированном индивидуально для групп пользователей (ролей). Был бы автор, он бы наверное подтвердил. http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=876584&msg=11202309 Цитата от разработчика: "Я не признаю систему, которую можно выключить централизованно. В живом мире система должна сохранять признаки жизни, даже если более 50% ее уничтожено". На эту тему, разработчики очень любят рассказывать байку о том, как у них в лихие девяностые тупо поперли все компы, на которых была установлена их бухгалтерия. База сохранилась на компе в соседней комнате, до которого не добрались :) Как вам такая точка зрения?Т.е. смысл как раз в том, чтобы любая станция могла работать сервером, а для этого (очевидно) необходимо, чтобы на каждой станции было всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 19:16 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaСмысл же в том, что бы каждый мог выполнить большинство своих читающих операций без обращения у центральному серверу. Для нужд безопасности, не более и не менее, было бы неплохо, чтобы эти операции выполнялись бы на усеченном наборе данных, сформированном индивидуально для групп пользователей (ролей). Был бы автор, он бы наверное подтвердил. сейчас подумал - если база копируется на клиентские машины, то в принципе она небольшая - десяток-другой гигабайт максимум соответственно и читать там можно немного раз движок доморощенный, то вряд ли там есть сложные запросы отсюда получается, что смысла то в такой СУБД и нет - простые запросы небольших данных занимают небольшую часть нагрузки обычных СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 19:24 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Мне эта СУБД напоминает пиринговую сеть. Очень хороша для аналитики и отчётов по историческим данным. Но все что касается OLTP скорее всего "идёт лесом". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 19:29 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
tanglirКак вам такая точка зрения?Т.е. смысл как раз в том, чтобы любая станция могла работать сервером, а для этого (очевидно) необходимо, чтобы на каждой станции было всё.[/quot] Через край. Для надежной защиты от ударов судьбы, нужно иметь резевры ресурсов, в том числе горячие, в гораздом меньше количестве чем количество пользователей. Желательно так же часть резервов иметь не в том месте где сидять пользователи, а то в случае (не дай бог!) разрушения здания заводоуправления ни одну из 30 копий востановить не удасться. Вообщем копий много, толку мало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 19:31 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonМне эта СУБД напоминает пиринговую сеть. Она была бы таковой если бы вообще не имела выделенного сервера и каждая станция напрямую работала с остальными. Но тут сервер таки есть... Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 19:36 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
maytonМне эта СУБД напоминает пиринговую сеть. Очень хороша для аналитики и отчётов по историческим данным. Но все что касается OLTP скорее всего "идёт лесом". Это работает. И разработчики БД "Викта" и мы занимаемся именно OLTP системами, и давно. Можно найти задачи, у которых ввод данных сопоставим с чтением данных, для таких задач архитектура локальных данных не подходит. Но в среднестатистической ERP-системе таких задач мизер. Как правло чтений на несколько порядков больше записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 19:44 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperсейчас подумал - если база копируется на клиентские машины, то в принципе она небольшая - десяток-другой гигабайт максимум соответственно и читать там можно немного раз движок доморощенный, то вряд ли там есть сложные запросы отсюда получается, что смысла то в такой СУБД и нет - простые запросы небольших данных занимают небольшую часть нагрузки обычных СУБД Локальные движки могут быть разными. В том числе, за счет специализации, превосходить серверные по производительности в определенном сегменте задач. Локальные движки могут быть сделаны на основе серверных и значит ни в чем не уступать им с точки зрения синтаксиса и производительности. Но это детали. Главное. На мой взгляд, Вами спутаны понятия. Понятия сложный SQL запрос, с точки зрения синтаксического состава, и понятия тяжелый запрос, или большой набор мелких запросов, объединенных неким прикладным алгоритмом, - это разные понятия. Отсутствие первого плохо, но оно не означает отсутствие второго. То, что у разработчиков Викты нет под рукой синтаксиса современного стандарта SQL, или даже хоть какого то SQL, не значит, что у них низкие аппетиты к обработки данных. Аппетиты, в главной объеме, определяется прикладной задачей, а не средством. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 20:17 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperсейчас подумал - если база копируется на клиентские машины, то в принципе она небольшая - десяток-другой гигабайт максимум SergSuper, да ну нафиг такие ужасы :) Как представишь себе десяток гигабайт, бродкастящихся по клиентам при неумелом Update ФсяТаблица.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 21:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemana... Локальные движки могут быть разными. В том числе, за счет специализации, превосходить серверные по производительности в определенном сегменте задач. Локальные движки могут быть сделаны на основе серверных и значит ни в чем не уступать им с точки зрения синтаксиса и производительности. вроде как заявляется что это некая СУБД, т.е. движок неспециализированный понять что такое "локальный на основе серверного" не смог artemanaНо это детали. Главное. На мой взгляд, Вами спутаны понятия. Понятия сложный SQL запрос, с точки зрения синтаксического состава, и понятия тяжелый запрос, или большой набор мелких запросов, объединенных неким прикладным алгоритмом, - это разные понятия. Отсутствие первого плохо, но оно не означает отсутствие второго. но означает лишний геморрой для разработчиков artemanaТо, что у разработчиков Викты нет под рукой синтаксиса современного стандарта SQL, или даже хоть какого то SQL, не значит, что у них низкие аппетиты к обработки данных. Аппетиты, в главной объеме, определяется прикладной задачей, а не средством. да тут сколько угодно можно теоретизировать, но ведь скорость выборки данных из одной таблицы запросом по сети сравнима по скорости с прямым чтением файла т.е. выигрыша в принципе особо и нет а вот минусов предостаточно и еще такой момент такая технология - это шаг куда-то назад сейчас вообще тенденция к терминальному режиму - т.е. не то что данные на сервере, но даже и картинку сервер делает трафик лишний не идет, массы приложений на клиентах ставить и обновлять не надо, админам вообще радость я снимаю шляпу перед людьми которые эту Викту разработали - действительно смело, труд колоссальный, понимаю что бросать жалко, да и не выгодно - но увы, это тупиковый путь, примерно как в наше время писать на ассемблере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 22:35 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuper смысла то в такой СУБД и нет - простые запросы небольших данных занимают небольшую часть нагрузки обычных СУБД "Обычные СУБД" типа Скуля, Оракла поддерживают распределенные БД, в том числе и с помощью репликаций. Потому "такая СУБД", скорей всего, не несет ниче нового против "обычных СУБД". Возможно еще и уступает в этом обычным. Оракл, к примеру, с 10 версии приписывает к наименованию "g" - Грид, как бы претендуя на предоставления широкие возможностей для "распределенности". Возможно, здесь не в СУБД дело, а в решениях использования распределенных БД по "клиентам" (которые, на, самом деле, возможно теперь по совместительству оказываются и серверами), вместо нескольких выделенных серверов, надежных сетей и т.д. Но и в этом случае ничего нового. Например, в системах с записывающими устройствами решения с возможностью автономной записи на случай потери связи с сервреом давно юзаются. Када-то Чал сказал: "Бяда с ключами в РМД". Но на, самом деле, возможно, пока "бяда с инновациями". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.10.2011, 22:58 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperartemana... Локальные движки могут быть разными. В том числе, за счет специализации, превосходить серверные по производительности в определенном сегменте задач. Локальные движки могут быть сделаны на основе серверных и значит ни в чем не уступать им с точки зрения синтаксиса и производительности. вроде как заявляется что это некая СУБД, т.е. движок неспециализированный понять что такое "локальный на основе серверного" не смог В архитектуре локальных копий это означает, что данные локальной копии находятся под управлением той же СУБД, что и данные центральной БД. Грубо говоря, на клиенте установлен такой же программный сервер, как и на центральном компьютере сервере. SergSuperartemanaНо это детали. Главное. На мой взгляд, Вами спутаны понятия. Понятия сложный SQL запрос, с точки зрения синтаксического состава, и понятия тяжелый запрос, или большой набор мелких запросов, объединенных неким прикладным алгоритмом, - это разные понятия. Отсутствие первого плохо, но оно не означает отсутствие второго. но означает лишний геморрой для разработчиков Согласен. Но поймите меня правильно, я, увидев систему с такой же архитектурой как у нас, поддерживаю именно архитектуру. То, что в данной конкретной реализации Викты отсутствует SQL, и на каждом клиенте полная копия данных - это ее недостатки. Я их не оспариваю, а лишь указываю на то, что они легко могут быть устранены и не могут приводиться как аргументы против архитектуры локальных копий в целом. SergSuperда тут сколько угодно можно теоретизировать, но ведь скорость выборки данных из одной таблицы запросом по сети сравнима по скорости с прямым чтением файла т.е. выигрыша в принципе особо и нет Выигрыш есть, и большой, он прямо пропорционален количеству одновременно читающих пользователей. Моя любимая аналогия Едут в купе Медведь, Волк, Лиса и Заяц. Заяц горланит песню: - Мы едем, едем, едем, в натуре три вагона, - Мы едем, едем, едем, в натуре три вагона… Лиса: - Слышь, Заяц, достал уже орать!!! - Хочу и ору!!! - Пошли выйдем? - Пошли… Выходят, из-за двери раздаются страшные звуки потом заходит Заяц, за ним зверски избитая Лиса. Заяц дальше поет: - Мы едем, едем, едем, в натуре три вагона, - Мы едем, едем, едем, в натуре три вагона… Волк: - Заяц, тебе же сказали – кончай орать!!! - Че, выйдем? Выходят, опять страшные звуки, снова первый заходит Заяц, за ним побитый Волк. Заяц опять петь: - Мы едем, едем, едем, в натуре три вагона, - Мы едем, едем, едем, в натуре три вагона… Медведь: - Ну че косой, может и со мной выйдешь? Лиса Медведю шепотом: - Не ходи Миша, их в натуре три вагона едет… SergSuperи еще такой момент такая технология - это шаг куда-то назад сейчас вообще тенденция к терминальному режиму - т.е. не то что данные на сервере, но даже и картинку сервер делает трафик лишний не идет, массы приложений на клиентах ставить и обновлять не надо, админам вообще радость Нет, это не шаг назад. Это удачный микс клиент-сервера cо старой, доброй и сверх быстрой локальной обработкой данных. Все пишут данные на единный сервер, а читают у себя. Опять же, я говорю об архитектуре в целом, учитываю то, что реализация может быть другой (наш сайт я давал). Терминальные системы являются альтернативным решением для распределенных систем! В единой ЛВС работать на них, это делать плохо пользователям во благо админов. У терминальных систем, для задачи распределенности, есть критический потолок, они не могут обеспечить работу при отсутствии соединения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 11:11 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaТерминальные системы являются альтернативным решением для распределенных систем! нет, не альтернативным всё именно идет к тому что будет либо вэб-интерфейс, либо терминал artemanaВ единой ЛВС работать на них, это делать плохо пользователям во благо админов. что плохого то? пользователи подчас и не подозревают что они "сидят в матрице"artemanaУ терминальных систем, для задачи распределенности, есть критический потолок, они не могут обеспечить работу при отсутствии соединения.а компьютеры не могут работать без электричества, но это же не повод переходить на счеты ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 11:28 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperartemanaТерминальные системы являются альтернативным решением для распределенных систем! нет, не альтернативным всё именно идет к тому что будет либо вэб-интерфейс, либо терминал Как и куда все пойдет, сказать не берусь. Но то, что архитектура с локальной копией данных вполне эффективна, и обладает рядом преимуществ, как с точки зрения производительности, так и надежности для меня является доказанным фактом. SergSuperartemana В единой ЛВС работать на них, это делать плохо пользователям во благо админов. что плохого то? пользователи подчас и не подозревают что они "сидят в матрице" Зачастую тормозит. Уравниловка. Мощности локальных машин есть, но не используются. SergSuperartemana У терминальных систем, для задачи распределенности, есть критический потолок, они не могут обеспечить работу при отсутствии соединения.а компьютеры не могут работать без электричества, но это же не повод переходить на счеты Но, это вполне себе повод установить резервный генератор. Есть программные решения, обеспечивающие поддержку бизнеса при отсутствии соединения с центральным офисом. Считаете, что связь у Вас не пропадет никогда?, ну тогда будьте готовы какое то время поработать на счетах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 11:56 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperтакая технология - это шаг куда-то назад Ну моно даже уточнить куда: к файловым систем. Т.е. тому что было до появления БД. В фаловых именно так и было там хде клиенты там и проги. В противовес этому термин База в БД как бы происходит предполагает "базирование" всех данных предприятия в центре. Но они вилдимо расчитывают на Гегелевское Отрицание Отрицания, т.е. это возврат к старому, но типа на новом уровне. Ну типа диалектика такая типа развития. Однако, в виду отсутсвия новизны, в частности из-за того что файл-сервеные СУБД вседа на клиенте, то развиятия, возможно, и нет. Возможно это шаг назад, но там хде вперед проход затруднен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 12:09 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaSergSuperпропущено... а компьютеры не могут работать без электричества, но это же не повод переходить на счеты Но, это вполне себе повод установить резервный генератор. Есть программные решения, обеспечивающие поддержку бизнеса при отсутствии соединения с центральным офисом. Считаете, что связь у Вас не пропадет никогда?, ну тогда будьте готовы какое то время поработать на счетах. не важно что я считаю, важно что я вижу а я вижу что например многие банки, и большие и маленькие, переходят на работу на одной железяке - сервер стоит в Москве, а филиалы разбросаны по всей стране, в маленьких и больших городах года три назад еще не все решались, а сейчас это приобрело массовый характер а что - у Вас и правда стоит генератор, готовый автоматически включится в сеть? ну вот не верю, в лучшем случае юпс, который час -другой продержит, если его еще периодически проверяют ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 12:20 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperне важно что я считаю, важно что я вижу а я вижу что например многие банки, и большие и маленькие, переходят на работу на одной железяке - сервер стоит в Москве, а филиалы разбросаны по всей стране, в маленьких и больших городах года три назад еще не все решались, а сейчас это приобрело массовый характер Неплохо было бы увидеть статистику, сколько банков и сколько своих филиалов эксплуатируют чисто в терминальном режиме, а сколько нет. Сильно сомневаюсь насчет 'приобрело массовый характер'. Ну да банки, они такие банки что все может быть. SergSuperа что - у Вас и правда стоит генератор, готовый автоматически включится в сеть? ну вот не верю, в лучшем случае юпс, который час -другой продержит, если его еще периодически проверяют У нас генератора нет. Я занимаюсь тиражируемым софтом. Света нет, мы пишем пулю. A вот у одного нашего клиента магазин недавно на день обесточили, он привез генератор из офиса, и дневная выручка была получена им почти в полном объеме. Ну а что, некому московскому банку прибыль его одного филиала за день не нужна в такой ситуации? Вот так прям во внутренней инструкции и написано, если канал связи не работает, клиентов не обслуживаем? И еще, по поводу генераторов, мне кажется не корректным Ваше сопоставление проблем надежности электросетей и сетей передачи данных. Пока отличия на порядок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 12:45 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaSergSuperне важно что я считаю, важно что я вижу а я вижу что например многие банки, и большие и маленькие, переходят на работу на одной железяке - сервер стоит в Москве, а филиалы разбросаны по всей стране, в маленьких и больших городах года три назад еще не все решались, а сейчас это приобрело массовый характер Неплохо было бы увидеть статистику, сколько банков и сколько своих филиалов эксплуатируют чисто в терминальном режиме, а сколько нет. Сильно сомневаюсь насчет 'приобрело массовый характер'. Ну да банки, они такие банки что все может быть. я сужу по своему опыту за последние пару лет имел дело с 10 банками, 5 из них в первой двадцатке(или около) только один из них сейчас работает на разных железяках с филиалами, один в процессе перевода, один перешел недавно из них в терминальном режиме работает точно 4 банка, 2 нетерминально, про остальные не знаю artemanaSergSuperа что - у Вас и правда стоит генератор, готовый автоматически включится в сеть? ну вот не верю, в лучшем случае юпс, который час -другой продержит, если его еще периодически проверяют У нас генератора нет. Я занимаюсь тиражируемым софтом. Света нет, мы пишем пулю. A вот у одного нашего клиента магазин недавно на день обесточили, он привез генератор из офиса, и дневная выручка была получена им почти в полном объеме. Ну а что, некому московскому банку прибыль его одного филиала за день не нужна в такой ситуации? Вот так прям во внутренней инструкции и написано, если канал связи не работает, клиентов не обслуживаем? И еще, по поводу генераторов, мне кажется не корректным Ваше сопоставление проблем надежности электросетей и сетей передачи данных. Пока отличия на порядок. я не знаю что у них в инструкции, но наверное заключают договоры с двумя независимыми провайдерами, есть GRPS на худой конец ну вот не боятся как-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.10.2011, 14:18 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Действительно есть такая тенденция у банков, но она, вобщем-то, ничего не доказывает, кроме того, что банки тормоза консервативны. Ведь есть и обратная тенденция в мире - создание системы из множества дешевых машин, а банки все еще идут в направлении создания системы на одной могучей машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2011, 10:29 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
--------------------------------Действительно есть такая тенденция у банков, но она, вобщем-то, ничего не доказывает, кроме того, что банки тормоза консервативны. Ведь есть и обратная тенденция в мире - создание системы из множества дешевых машин, а банки все еще идут в направлении создания системы на одной могучей машине. Т.е. "ни на что не похожая БД" на самом деле находится в в русле "создание системы из множества дешевых машин"? Стало быть быть, если она и "не похожа", то не в силу оригинальности идей. А так ить полно файл серверных БДна убитых компах, которые качали БД на кажный комп, ввиду крайней ненадежности компов. Например, на Аксцессе это сделать могет кажный даже не заметив, что тут есть какая-то не похожая ни на что идея. Возможно, она не похожа на современные достижантия, а на морально устаревшие или не имещие рациональное зерно еще как похожа? Возможно, следует все же переформулировать, с целью уточнения: "Ни на что современное не похожая БД (хотя в прошлом веке похожая на кое-что эдакое)" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2011, 08:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
vadiminfo, Но разве опыт Гугля не доказывает, что в истинно кластерных условиях и с несколькими датацентрами использование дешевого железа оправдано и выходит много выгоднее? Условия, конечно, специфичные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2011, 12:27 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
RXLvadiminfo, Но разве опыт Гугля не доказывает, что в истинно кластерных условиях и с несколькими датацентрами использование дешевого железа оправдано и выходит много выгоднее? Условия, конечно, специфичные. Так Вы хотите сказать, что не на что не похожая БД похожа на Гугль? А клиенты с БД ни на что не похожей БД на "истинно кластерных условиях и с несколькими датацентрами". "Дешевые железо Гугля" - это 286-е? Мож у них тацентры на комапах в нескока милионов баксов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2011, 21:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaSergSuperпропущено... нет, не альтернативным всё именно идет к тому что будет либо вэб-интерфейс, либо терминал Как и куда все пойдет, сказать не берусь. Но то, что архитектура с локальной копией данных вполне эффективна, и обладает рядом преимуществ, как с точки зрения производительности, так и надежности для меня является доказанным фактом. SergSuperпропущено... что плохого то? пользователи подчас и не подозревают что они "сидят в матрице" Зачастую тормозит. Уравниловка. Мощности локальных машин есть, но не используются. На каком сервере под терминал могут тормозить 10-15 пользователей? У одного клиента когда-то такое наблюдал на одноядерном атлоне с 512мб озу. Но такое железо снято с производства лет 6 назад. Локальных машин может и не быть. Попробуйте поставить терминальные станции. Они хоть и не дешевле обычных компьютеров, зато имеют немало преимуществ. Например, вместо гудящего ящика под ногами куда приятнее моник на небольшой подставке и тишина, аж противно становится. Срок службы в 2 раза больше, потребление электричества значительно ниже, не требует настройки и инсталяции какого-либо софта (только строчка коннекта к серверу). В чем сейчас основная проблема использования компьютеров с точки зрения обычного пользователя? Их сложность. Даже специалисты зачастую не понимают, что происходит внутрях работающего софта. Поэтому и надеются вынести вычисления в "облака", предложив юзерам снять головную боль с установленным локально софтом. А почему как аксиома воспринимается, что локальная работа на множестве отдельных машин будет быстрее, чем на терминальном сервере? Простой пример. Делает юзер оборотку по товарам за три последние месяца. Что произойдет? Данные будут считываться с жесткого диска. На терминале достаточно одному пользователю выполнить эту операцию, все остальные будут дергать информацию уже не с диска, а из общего кэша в оперативной памяти, что в несколько раз быстрее. Переполнится кэш? А какой размер баз данных у большинства бизнес-пользователей и сколько оперативки можно (недорого) поставить на сервер? Другой пример. Сформировал юзер отчет. Через пару минут другой хочет тот-же отчет с теми-же параметрами. Почему бы ему не предложить взять готовый у первого? И не тратить время на новый расчет? Еще пример. Предположим, что есть некий открытый период, в который вносятся изменения. Затем решили, что можно его сократить. Закрываем более поздней датой. В закрытом периоде сохраняем готовые результаты для наиболее восстребованных запросов. У всех пользователей на терминале скорость построения отчетов по данным закрываемого периода взлетает на порядок. Я прекрасно понимаю, что есть некая система, успешно внедренная у многих пользователей. Выработались определенный стиль мышления, определенные стандарты. Но важно не только сохранять сделанные инвестиции, но и смотреть, как приспособить имеющуюся технологию к новым реалиям. Почему не попробывать с приемлемыми затратами приспособить имеющийся софт к работе на терминальных серверах? Тем более, если как у Викты, используется файловая база. Это же не переписывать весь софт в клиент-сервер или web. Пусть в этой системе логическим пользователем будет терминальный сервер, а распределение нагрузок перенесем на несколько серверов, как в старой системе. Тогда и пользователей можно подключить на 1-2 порядка больше, а это уже горизонты для старой системы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 21:33 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
+1. Здесь в принципе пережёвывается идея просто о грамотном переписывании задачи с материализацией нужных аналитических данных и построением cubes. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2011, 23:31 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
vadiminfoRXLvadiminfo, Но разве опыт Гугля не доказывает, что в истинно кластерных условиях и с несколькими датацентрами использование дешевого железа оправдано и выходит много выгоднее? Условия, конечно, специфичные. Так Вы хотите сказать, что не на что не похожая БД похожа на Гугль? А клиенты с БД ни на что не похожей БД на "истинно кластерных условиях и с несколькими датацентрами". "Дешевые железо Гугля" - это 286-е? Мож у них тацентры на комапах в нескока милионов баксов? Если вы внимательно меня прочитали, то должны были заметить, что, во-первых, я ничего про базу не говорил, а, во-вторых, про 286-е ПК тоже не говорил. Чем гадать - почитайте в сети. Вкратце: они используют современные мамки и диски офисно-бытового уровня. Срок работы такого оборудования до списания - два года. По производительности оно (кроме дисков) не уступает серверному железу, зато в несколько раз дешевле и, за счет регулярного обновления, поддерживается на современном уровне производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 14:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
FinSoftА почему как аксиома воспринимается, что локальная работа на множестве отдельных машин будет быстрее, чем на терминальном сервере? Об аксиоме речи нет, но вот положения к тому, что существуют условия , при которых локальная обработка данных эффективнее централизованной, мне кажется достаточно простыми. Положение, в общем то, одно - множеству пользователей одновременно нужно выполнять множество различных читающих обработок данных. Все. Но, это положение настолько часто встречается при эксплуатации средних и крупных ERP систем, что его можно считать обычным. И все Ваши примеры (кроме агрегатов), при всем уважении к Вашему мнению, это просто примеры, которые воспроизводятся и по-настоящему эффективны только в лабораторных условиях. А на практике ... Возьмем, к примеру, любое среднее производственное предприятие с численностью сотрудников около 1500. При хорошем уровне автоматизации, ERP система должна насчитывать ну никак не меньше 100 рабочих мест. Заметим, речь идет об одной, единой системе, а значит все хранится в одной центральной БД. Заметим так же, что такие системы хоть и не работают с гипертрофированно большими объемами данных, например характерными для билинговых систем, разместить все базу в оперативной памяти сервера не выйдет. Но это еще пол беды. Информационная модель современной ERP-системы чрезвычайно сложна, а значит, в ней есть много таблиц (=>10^3) и связей между ними. Основных причины две - сложность предметной области и притязания на универсальность решения. В такой системе неизбежно возникают массовые одновременные чтения, так как она призвана решить широкий круг относительно независимых подзадач. Работа складского хозяйства не особо связанна с работой ОТиЗ, или работа одного склада с работой другого. Всем и часто от системы что то надо, кому то надо что то ввести, кому то надо что то посмотреть. Причем ввод, это же непросто импорт с какого то источника, он неизбежно сопровождается чтением. Вводим счет на продажу, читаем словари - товары, валюты, курсы, контрагенты, прайсы, читаем и анализируем правила бизнес логики и прочее и прочее и прочее. А если учесть возрастание потребностей пользователей в интервалах подготовки периодической отчетности, то как можно говорить об отсутствии массовых, различных и одновременных читающих обработок (сложных и простых)? Может быть не надо было строить такой большой завод? Нам в GrossBee , как и разработчикам Викты, использование свободных мощностей рабочих станций, кажется разумным решением. Есть ли другие варианты решений? Да! И среди них тьма вполне успешных работающих!! А зачастую ни какая локальная копия данных под некую задачу и не нужна!!! Но при прочих равных условиях, ERP системы с локальными усеченными копиями БД, могут работать и работают быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 18:47 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaFinSoftА почему как аксиома воспринимается, что локальная работа на множестве отдельных машин будет быстрее, чем на терминальном сервере? Об аксиоме речи нет, но вот положения к тому, что существуют условия , при которых локальная обработка данных эффективнее централизованной, мне кажется достаточно простыми. Положение, в общем то, одно - множеству пользователей одновременно нужно выполнять множество различных читающих обработок данных. Все. Но, это положение настолько часто встречается при эксплуатации средних и крупных ERP систем, что его можно считать обычным. И все Ваши примеры (кроме агрегатов), при всем уважении к Вашему мнению, это просто примеры, которые воспроизводятся и по-настоящему эффективны только в лабораторных условиях. А на практике ... Возьмем, к примеру, любое среднее производственное предприятие с численностью сотрудников около 1500. При хорошем уровне автоматизации, ERP система должна насчитывать ну никак не меньше 100 рабочих мест. Заметим, речь идет об одной, единой системе, а значит все хранится в одной центральной БД. Заметим так же, что такие системы хоть и не работают с гипертрофированно большими объемами данных, например характерными для билинговых систем, разместить все базу в оперативной памяти сервера не выйдет. Но это еще пол беды. Информационная модель современной ERP-системы чрезвычайно сложна, а значит, в ней есть много таблиц (=>10^3) и связей между ними. Основных причины две - сложность предметной области и притязания на универсальность решения. В такой системе неизбежно возникают массовые одновременные чтения, так как она призвана решить широкий круг относительно независимых подзадач. Работа складского хозяйства не особо связанна с работой ОТиЗ, или работа одного склада с работой другого. Всем и часто от системы что то надо, кому то надо что то ввести, кому то надо что то посмотреть. Причем ввод, это же непросто импорт с какого то источника, он неизбежно сопровождается чтением. Вводим счет на продажу, читаем словари - товары, валюты, курсы, контрагенты, прайсы, читаем и анализируем правила бизнес логики и прочее и прочее и прочее. А если учесть возрастание потребностей пользователей в интервалах подготовки периодической отчетности, то как можно говорить об отсутствии массовых, различных и одновременных читающих обработок (сложных и простых)? Может быть не надо было строить такой большой завод? Нам в GrossBee , как и разработчикам Викты, использование свободных мощностей рабочих станций, кажется разумным решением. Есть ли другие варианты решений? Да! И среди них тьма вполне успешных работающих!! А зачастую ни какая локальная копия данных под некую задачу и не нужна!!! Но при прочих равных условиях, ERP системы с локальными усеченными копиями БД, могут работать и работают быстрее. В данной теме изначально писали о гораздо более скромном количестве пользователей. Для 100 может, конечно, одного терминального сервера и не хватить, зависит от сложности выполняемых задач. Но все равно я не поверю, что работа на 100 отдельных машинах будет эффективнее, чем работа на 2-3 терминальных серверах. Все еще сильно зависит от прикладного приложения. Например, мне сложно представить, о каких объемах информации, не помещающихся в ОЗУ, идет речь. Когда-то прикидывал, если 200 накладных в день, то за год это ~50-60мб в таблице шапок, в пределах 200-300мб в строках (для торговых контор, для производства последняя цифра должна быть существенно меньше). Пусть будет больше 200 накладных, в базе все равно редко имеет смысл держать более 3-4 лет. И в ОЗУ грузить старые данные далеко не всегда надо, чаще можно оперировать готовыми итогами. Чтения же всяких значений и бизнес-правил из номенклаторов на терминальных серверах происходит так-же быстро, как при локальной работе - сотые доли секунды для файловых баз. Могу предположить, что архитектура используемой системы такова, что для универсальности все операции своливаются в одну-две огромные таблицы. Количество таблиц более 1000 тоже наводит на вопросы. Это же не САП с огромной историей развития. Можно делать и комбинированные таблицы (например, шапки складских документов или производственных документов, их же строки и т.п.), тогда количество будет значительно меньше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2011, 20:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaНо при прочих равных условиях, ERP системы с локальными усеченными копиями БД, могут работать и работают быстрее. да скорость далеко не самое главное надо увеличить скорость - поменял железяку и всего делов а вот такой вопрос заинтересовал: где у вас функционал лежит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 01:08 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
artemanaпритязания на универсальность решения.в этом, имхо, и есть главная проблема "современных ERP-систем". Решение любой конкретной задачи всегда будет оптимальней, чем универсальное решение на все случаи жизни, отсюда и все проблемы с производительностью, которые некоторые решают такими странными и "ни на что не похожими" способами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 01:12 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
RXLЕсли вы внимательно меня прочитали, то должны были заметить, что, во-первых, я ничего про базу не говорил, а, во-вторых, про 286-е ПК тоже не говорил. Чем гадать - почитайте в сети. Вкратце: они используют современные мамки и диски офисно-бытового уровня. Срок работы такого оборудования до списания - два года. По производительности оно (кроме дисков) не уступает серверному железу, зато в несколько раз дешевле и, за счет регулярного обновления, поддерживается на современном уровне производительности. Если Вы про базу ничего не говорили, то к чему Вы про Гугл то начали? Я то говорил исключительно про распределенную по клиентам БД: основную якобы идею "ни на что не похожей БД". Не про кластеры и дата центры, а про БД распределенной на КЛИЕНТы. Или Вы настаиваете, что она похjжа на Гугл?. Т.е. Гугл на клиентов, к примеру, мне на комп всю БД тасчит, шобы я быстрей читал? Или при чем тут он вообще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 01:59 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperartemanaНо при прочих равных условиях, ERP системы с локальными усеченными копиями БД, могут работать и работают быстрее. да скорость далеко не самое главное надо увеличить скорость - поменял железяку и всего делов Во во, или можно бизнес сменить, если денег не хватит. Подумаешь проблема - скорость какая то. Шутки шутками, но я бы отчасти согласился бы с Вами (только директору излагать будете Вы), если бы мы не были в контексте "Дискуссии о преимуществах и недостатках различных СУБД." SergSuperа вот такой вопрос заинтересовал: где у вас функционал лежит? И там и там. В базе данных большинство кода занято формированием хранимых агрегатов. Кода в базе много - объем скрипов мегабайты, но клиент еще больше! Хотя в БД есть приличный набор процедур для различных отложенных расчетов и отчетов, все таки основная часть этих задач реализована на клиенте. Относительная скудность PSQL тому основная причина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2011, 13:16 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperне важно что я считаю, важно что я вижу а я вижу что например многие банки, и большие и маленькие, переходят на работу на одной железяке - сервер стоит в Москве, а филиалы разбросаны по всей стране, в маленьких и больших городах года три назад еще не все решались, а сейчас это приобрело массовый характер Да-да, "миллионы домохозяек не могут ошибаться". По поводу сервера в Москве - слышал [из первых рук] историю о том, как человек, застряв в Новосибирске, неделю не мог получить в банке деньги, поскольку из-за разницы во времени пока в Москве раскочегаривали сервера/наманикюривали ногти, в Новосибирске заканчивался рабочий день. Так и вел здоровый образ жизни - ходил через весь город пешком, питался воздухом и водкой (осталась после конференции), пока его в банк не перестали пускать. Впечатлений у него осталось на всю жизнь. А вообще, интересно, чем дело закончилось - дали им денег на доработку? /* :) */ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 14:01 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusА вообще, интересно, чем дело закончилось - дали им денег на доработку? "Им" - оразработчикам СУБД "Викта", естественно. Жаль, топикстартер ушел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 14:09 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ПК "СП-Z50", о котором идет речь, выдвигался на конкурс в Агентство стратегических инициатив" (www.asi.ru). Там было достаточно подробное обсуждение - на мои вопросы отвечала (вероятно) Тамара Потапова. Сейчас, кажется, этого проекта нет в АСИ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 14:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
ShlippenbaranusSergSuperне важно что я считаю, важно что я вижу а я вижу что например многие банки, и большие и маленькие, переходят на работу на одной железяке - сервер стоит в Москве, а филиалы разбросаны по всей стране, в маленьких и больших городах года три назад еще не все решались, а сейчас это приобрело массовый характер Да-да, "миллионы домохозяек не могут ошибаться". По поводу сервера в Москве - слышал [из первых рук] историю о том, как человек, застряв в Новосибирске, неделю не мог получить в банке деньги, поскольку из-за разницы во времени пока в Москве раскочегаривали сервера/наманикюривали ногти, в Новосибирске заканчивался рабочий день. Так и вел здоровый образ жизни - ходил через весь город пешком, питался воздухом и водкой (осталась после конференции), пока его в банк не перестали пускать. Впечатлений у него осталось на всю жизнь. / Неплохо так домохозяйки развлекаются. Хотя аргумент сильный, и ведь не поспоришь! Тоже буду использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2012, 17:39 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
авторОчень интересует ваше мнение о строении БД, особенности которой описаны вот здесь... Если кому-то еще интересно обсуждение, исходная статья переехала сюда: Отличительные особенности БД комплекса «Викта» ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 11:26 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Зря вы очередной Btrieve изобретаете. Даже в нём SQL появился. Хотя и под другим названием. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 12:42 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЗря вы очередной Btrieve изобретаете. Даже в нём SQL появился. Хотя и под другим названием.тут больше дело в психологии, тяжело отказаться от того чем ты много лет занимался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 12:54 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
RXLvadiminfoпропущено... Так Вы хотите сказать, что не на что не похожая БД похожа на Гугль? А клиенты с БД ни на что не похожей БД на "истинно кластерных условиях и с несколькими датацентрами". "Дешевые железо Гугля" - это 286-е? Мож у них тацентры на комапах в нескока милионов баксов? Если вы внимательно меня прочитали, то должны были заметить, что, во-первых, я ничего про базу не говорил, а, во-вторых, про 286-е ПК тоже не говорил. Чем гадать - почитайте в сети. Вкратце: они используют современные мамки и диски офисно-бытового уровня. Срок работы такого оборудования до списания - два года. По производительности оно (кроме дисков) не уступает серверному железу, зато в несколько раз дешевле и, за счет регулярного обновления, поддерживается на современном уровне производительности. Я сильно извиняюсь за вторгательное присутствие, но то, какое оборудование использует Гугль вполне можно попытаться "оценить" по фотографиям их датацентров - с дешевыми "офисно-бытовыми мамками и дисками" там как-то не особо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 14:10 |
|
||
|
Ни на что не похожая БД
|
|||
|---|---|---|---|
|
#18+
SergSuperBasil A. SidorovЗря вы очередной Btrieve изобретаете. Даже в нём SQL появился. Хотя и под другим названием.тут больше дело в психологии, тяжело отказаться от того чем ты много лет занимался Это точно. Ключевая проблема на sql.ru. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.11.2012, 19:07 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1552507]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
421ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 511ms |

| 0 / 0 |
