Re[9]: Бизнес логика в ХП
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.06.16 18:50
Оценка:
Здравствуйте, Gattaka, Вы писали:
G>Можно правами и ролями пользователей базы разрулить если очень хочется...
Не получится. Потому что между пользователем и базой стоит код. И сколько в этом коде багов — никто не знает. Если отобрать у пользователя права, то он не сможет работать.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Бизнес логика в ХП
От: wildwind Россия  
Дата: 27.06.16 21:38
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Никакому удалённому клиенту доверять нельзя. Доверенным для RDBMS может быть AppServer, потому что разрабатываем и развёртываем его мы, вместе с базой.

S>Все остальные клиенты — неизвестное зло.

S>Если такое случилось в апп-сервере — мы его чиним. Он под нашим контролем.


Мы выше начали с того, что у нас большая база и несколько приложений, с ней живущих. В общем случае каждое со своим аппсервером и своими клиентами. Все они наши, только возможно поддерживаются разными командами. Зоопарк, в общем. В такой ситуации дублирование логики неизбежно, и, как следствие, рассинхронизация и нестыковки. Тут хранимки ИМХО полезны. Всю логику в них запихивать глупо, но часть можно. Хотя бы базовую валидацию данных, идущих в базу, чтобы ловить эти нестыковки.

W>>Если явный коммит не подтвержден, значит не сработала. Есть другие варианты?

S>Конечно есть. Во-первых, мы вызвали процедуру с автокоммитом.
А не надо с автокоммитом. Хотя если это единственный вызов в транзакции, почему нет.

S>Во-вторых, как вы отличите ситуацию "сервер не подтвердил транзакцию" от "клиент не получил отправленное подтверждение"?

Если это аппсервер, то отличать их нужды нет, так как ситуация "connection reset" нештатная и реакция будет одинаковой: отмена выполняемой задачи (и выкидывание всех промежуточных резульатов), отправка "упс" клиенту и сигнал тревоги админам для ручного разбирательства.

А с удаленным клиентом да, это проблема. Но я сейчас удаленных клиентов не рассматриваю.

W>>И опять же, в чем разница между хранимкой, батчем и серией простых SQL операторов?

S>Речь про разницу между SQL и HTTP как протоколами взаимодействия клиент-сервер.
Понятно, мы немного каждый о своем
Re[8]: Бизнес логика в ХП
От: wildwind Россия  
Дата: 27.06.16 21:41
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>ХП исполняется настолько же быстро, сколько и эквивалентный ей SQL батч.


Вот это немного странно для меня. В других СУБД разница бывает хорошо заметной. Ведь затраты на парсинг и семантический контроль никуда не деваются. Особенно если это "горячее" место.
Re[9]: Бизнес логика в ХП
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 27.06.16 22:50
Оценка: +1
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, Sinclair, Вы писали:


S>>ХП исполняется настолько же быстро, сколько и эквивалентный ей SQL батч.


W>Вот это немного странно для меня. В других СУБД разница бывает хорошо заметной. Ведь затраты на парсинг и семантический контроль никуда не деваются. Особенно если это "горячее" место.


Во всех взрослых базах работает одинаково. Запрос, как и ХП парсится один раз и сохраняется её план. При повторном запросе парсинга не происходит, по хэшу строки запроса\имени процедуры достается из кеша нужный план.
Актуальна разница ХП и adhoc запроса была 20 лет назад.
Re[9]: Бизнес логика в ХП
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.06.16 03:51
Оценка:
Здравствуйте, wildwind, Вы писали:


W>Мы выше начали с того, что у нас большая база и несколько приложений, с ней живущих. В общем случае каждое со своим аппсервером и своими клиентами. Все они наши, только возможно поддерживаются разными командами. Зоопарк, в общем. В такой ситуации дублирование логики неизбежно, и, как следствие, рассинхронизация и нестыковки.

В такой ситуации команда, отвечающая за базу, не может доверять командам приложений. Поэтому их надо от базы изолировать путём внедрения своего аппсервера.
Простой пример: bing maps. Команда bing никому не даст прямого доступа к своей геобазе. Все остальные команды MS ходят к bing maps через апп.сервер с хорошо определённым API.
Это позволяет команде перетряхивать внутреннее хранение как им угодно — синхронизовываться надо только со своим же апп.сервером.

W>А с удаленным клиентом да, это проблема. Но я сейчас удаленных клиентов не рассматриваю.

А я как раз рассматриваю. Речь же о нескольких приложениях, которые пишутся разными командами и на разных языках. Если у нас два апп.сервера над базой, и каждый на своём языке, то это ошибка природы.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Бизнес логика в ХП
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.06.16 03:52
Оценка:
Здравствуйте, wildwind, Вы писали:
W>Вот это немного странно для меня. В других СУБД разница бывает хорошо заметной. Ведь затраты на парсинг и семантический контроль никуда не деваются. Особенно если это "горячее" место.
Типичная хранимка размером в полсотни килобайт исполняется десятки секунд. Микросекунды парсинга тут незаметны даже в микроскоп. Даже затраты на интерпретацию и те виднее.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Бизнес логика в ХП
От: Gattaka Россия  
Дата: 28.06.16 03:53
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Это не вопросы привычки. Это вопросы эффективности работы. Зачем заставлять себя писать полсотни килобайт там, где можно написать пять килобайт?

S>Я когда начинал осваивать SQL, то думал как вы. А после нескольких лет работы фактически SQL программистом начал видеть его недостатки.
Почему вы говорите, что на SQL кода получается больше? Хотя на самом деле с точность до наоброт кода колучается меньше причем сильно меньше. Я вам привел в одной из веток пример со списком. Вам чтобы аналог двух строчек на SQL написать нужно написать колосальное количество кода, либо смирится с худшей реализацией.
Re[7]: Бизнес логика в ХП
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.06.16 03:57
Оценка:
Здравствуйте, Gattaka, Вы писали:
G>Почему вы говорите, что на SQL кода получается больше? Хотя на самом деле с точность до наоброт кода колучается меньше причем сильно меньше.
Это какое-то недопонимание.
G>Я вам привел в одной из веток пример со списком. Вам чтобы аналог двух строчек на SQL написать нужно написать колосальное количество кода, либо смирится с худшей реализацией.
Можно ещё раз этот пример? Я не вижу кода, о котором вы говорите.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Бизнес логика в ХП
От: Gattaka Россия  
Дата: 28.06.16 04:14
Оценка: :)))
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Gattaka, Вы писали:


G>>Итак у вас уже словарик rw-локов нужно написать, не много пока. Ну а как вы будете делать блокировки диапозонов? Это еще придумать надо и написать...

G>>А будут ли у вас блокировки о намереньях? А эскалации блокировок у вас будут или все будет по простому и как следствие неэффективно? А средства диагностики у вас какие на коллекции какие будут? Дедлоки как ловить? А что если ваша коллекция не влазит в оперативную память целиком, но вы активно работаете с некоторой частью, то есть имеется активная и пасивная части. Пасивная спокойно никому не мешая может лежать на диске. SQL Server это предоставляет. А фрагментация памяти? Если у вас в середине удаляются записи, сколько коллекция памяти будет занимать? Одним словом, написать что-то похожее на SQL Server сложно и в итоге вы получите SQL Server, только на C# и с багами...

S>Вы это к чему? Я не предлагаю заиенить SQL Server, вы спорите о чём-то не том. Для того, что делает SQL Server, альтернативы, в общем-то нет. Только другие RDBMS того же класса.

S>А вот для того, чему хватит коллекции в памяти, SQL Server будет оверкиллом. С этим лучше заранее смириться, иначе вся жизнь уйдёт на борьбу с ветряными мельницами.

Это я все к тому, что SQL высокоуровневый язык. Если в C# из чего-то подобного есть только garbage collector, в SQL посмотрите сколько всего и эскалации блокировок и т.д. и т.п. Поэтому код на SQL получается компактным и аналогичный код на C# был бы очень сильно больше.
Re[11]: Бизнес логика в ХП
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.06.16 04:17
Оценка: 3 (1)
Здравствуйте, Gattaka, Вы писали:

G>Здравствуйте, Sinclair, Вы писали:


S>>Здравствуйте, Gattaka, Вы писали:


G>>>Подозрительная у вас rich model... В частности вызов метод Db.FindContractByEmployee(employee)

G>>>
G>>>foreach(var employee in Db.GetAllEmployees())
G>>>{
G>>>  if (employee.CurrentPosition = position)
G>>>  {
G>>>    var c = employee.Contracts.FirstOrDefault();// Либо Where... все обеспечивается ORM. С linq2db такой код не получится писать я так понимаю. Есть там LazyLoad?
G>>>    c.AdjustSalary(c.CurrentSalary + c.CurrentSalary * 0.10, effectiveDate);
G>>>  }
G>>>}
G>>>

S>>Спасибо за исправление. Lazy Load в linq2db нет, и слава богу. Вы понимаете, чем ужасен этот код?
S>>Если посмотреть на его исполнение под SQL Profiler, то волосы зашевелятся даже там, где их нет.
G>Ну да... у меня может и шевелятся Но есть сторонники, которые начнут доказывать, что это база данных виновата... Давайте на MongoDB переходить, там тормозов нет.
Ну так правильный ответ-то не в монге, и не в хп.
А в
  var employees = from e in db.Employee where e.CurrentPosition = position select e;
  var contracts = db.GetActiveContracts(employees); // from c in db.EmployeeContracts where c.EmployeeId in (from e in employees select id) and c.Status = ContractStatus.Active select c;
  contracts.Insert(db.ContractChange,
     c => new ContractChange {
        ContractID = c.Id,
        EffectiveDate = effectiveDate,
        SalaryAmount = c.CurrentSalary * 1.1
     });
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[11]: Бизнес логика в ХП
От: Sinclair Россия https://github.com/evilguest/
Дата: 28.06.16 04:21
Оценка: 2 (1) +5
Здравствуйте, Gattaka, Вы писали:
S>>Вы это к чему? Я не предлагаю заиенить SQL Server, вы спорите о чём-то не том. Для того, что делает SQL Server, альтернативы, в общем-то нет. Только другие RDBMS того же класса.
S>>А вот для того, чему хватит коллекции в памяти, SQL Server будет оверкиллом. С этим лучше заранее смириться, иначе вся жизнь уйдёт на борьбу с ветряными мельницами.

G>Это я все к тому, что SQL высокоуровневый язык. Если в C# из чего-то подобного есть только garbage collector, в SQL посмотрите сколько всего и эскалации блокировок и т.д. и т.п. Поэтому код на SQL получается компактным и аналогичный код на C# был бы очень сильно больше.

В C# из "чего-то подобного" есть Linq. Он рвёт T-SQL на тряпки по возможностям декомпозиции. В T-SQL из чего-то подобного linq есть только склейка строк и EXECUTE, которые адски тяжело отлаживать и поддерживать.
Получается, что каждому — своё. На С# мы пишем тяжёлую логику, которую трудно вручную выписывать на SQL. А блокировки и оптимизация планов остаётся в SQL Server.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[7]: Бизнес логика в ХП
От: Dziman США http://github.com/Dziman
Дата: 28.06.16 21:21
Оценка: -1
Здравствуйте, Gattaka, Вы писали:
G> S>В таком сценарии использование ХП — это попытка превратить RDBMS в тот самый апп-сервер. Т.е. клиентам закрывают доступ к таблицам; в лучшем случае даём read-only, хотя даже это адски опасно (потому что всегда есть риск, что мы добавили колоночку типа IsDeleted, а где-то в углу завалялся клиент на дельфи, который ничего про неё не знает, и продолжает хреначить репорты с неуловимо отличающимися от официальных цифр данными).
G> S>Пусть фигачат хранимки.

G> DML — нужно запрещать... У вас ведь с App сервером тоже никто контракт внезапно поменять не может. Добавить поле в DTO IsDeleted?

Не DML, а DDL. DTO к схеме имеет отношение близкое к никакому. Как-то с владением терминологией не очень Вера в то что ХП безусловно быстрее кода. Не способность описать *значущую* бизнес задачу(а не реализацию) для своего примера. Все это очень затрудняет предметный спор.
avalon 1.0rc3 build 430, zlib 1.2.5
Re: Делай то что выгодно
От: rm822 Россия  
Дата: 12.07.16 22:38
Оценка: 1 (1) +2
и ОРМ в чистом виде и DAL на хранимках — оба эти подхода в чистом виде дают одинаково отвратный результат
Не позволяй фанбоям какой-то конкретной технологии запудрить тебе мозг, делай то что выгодно в каждом конкретном случае.
Гибкость в выборе подхода даст куда лучший результат

G>Либо сейчас модно использовать кодогенераторы типа ОРМ, которые генерируют ужасные sql запросы?

Не мода, экономика.
Большинство все равно нихрена в БД не понимает и сделает хуже чем ОРМ
Re[9]: Бизнес логика в ХП
От: itslave СССР  
Дата: 28.07.16 15:40
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

G>И даже банальные расчеты это показывают. Предположим что цена железа растет линейно мощности.

Это верно в весьма небольшом диапазоне.

G> если мы возьмем масштабы гугла или ФБ, то там вертикальное масштаирование или физически невозможно или стоит сильно больше горизонтального.

И ты сам это понимаешь.

G>Но это гугл и ФБ, таких масштабов в жизни мало кто сможет увидеть. А для обычных приложений вертикальное масштабирование выгоднее.

На самом деле упомянутый порог достаточно низок и достигается на раз-2 на сколько нибудь нагруженом ресурсе. А если и статистику считать самостоятельно, и контекстные хинты показывать — то все становистя еще веселей.

G>Почитай про stackoverflow, при их нагрузках они масштабируются вертикально в основном.

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

А бывают еще требования по high-availability, которые в принципе невозможно выполнить на одной железяке. Например 99.95% аптайма, которые хотят наверное с половину серьезных заказчиков, прямиком ведет к zero-downtime update. Как ты это заимплементишь на одной железяке?
Отредактировано 28.07.2016 15:43 itslave . Предыдущая версия .
Re[10]: Бизнес логика в ХП
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.07.16 16:14
Оценка:
Здравствуйте, itslave, Вы писали:

I>Здравствуйте, gandjustas, Вы писали:


G>>И даже банальные расчеты это показывают. Предположим что цена железа растет линейно мощности.

I>Это верно в весьма небольшом диапазоне.
Это смотря что считать "небольшим". Например на проектах, на которых работают 99% пишущих в этой теме, это верно.

G>>Но это гугл и ФБ, таких масштабов в жизни мало кто сможет увидеть. А для обычных приложений вертикальное масштабирование выгоднее.

I>На самом деле упомянутый порог достаточно низок и достигается на раз-2 на сколько нибудь нагруженом ресурсе. А если и статистику считать самостоятельно, и контекстные хинты показывать — то все становистя еще веселей.
На SO они достигали несколько лет, и по факту пока еще не достигли. В блоге написано, что один веб-сервер может выдержать весь SO. Проектов масшаба SO нет ни у кого из присутствующих, в том числе у тебя.

G>>Почитай про stackoverflow, при их нагрузках они масштабируются вертикально в основном.

I>А почитай про стоимость и время разработки stackoverflow. В обычном же девелопменте квалификация девелоперов сильно ниже отобранных лично джоелом боевых пидарасов на зп сильно выше средней в нуерке, и тайм прессинг сильнее.
И как это связано? Из-за плохих программистов горизонтальное масштабирование становится дешевле?

I>А бывают еще требования по high-availability, которые в принципе невозможно выполнить на одной железяке. Например 99.95% аптайма, которые хотят наверное с половину серьезных заказчиков, прямиком ведет к zero-downtime update. Как ты это заимплементишь на одной железяке?

А кто говорил про одну железку? Ты думаешь, что вертикальное масштабирование это когда все на одной железке работает?
И в чем проблема с zero-downtime update? На любой взрослой базе даже проблемы такой нет.
Re[11]: Бизнес логика в ХП
От: itslave СССР  
Дата: 28.07.16 17:56
Оценка:
Здравствуйте, gandjustas, Вы писали:
Например на проектах, на которых работают 99% пишущих в этой теме, это верно.
имха цифра в 99% необоснованно завышена.

G>На SO они достигали несколько лет, и по факту пока еще не достигли. В блоге написано, что один веб-сервер может выдержать весь SO. Проектов масшаба SO нет ни у кого из присутствующих, в том числе у тебя.

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

G>И как это связано? Из-за плохих программистов горизонтальное масштабирование становится дешевле?

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

G>И в чем проблема с zero-downtime update? На любой взрослой базе даже проблемы такой нет

Ну давай не будем голословными. Вводная: у тебя пару лямов активных сессий, которые упираются в одну бд в десятки терабайт и необходходимо залить новую версию софта, которая интродюсит изменение схемы данных, которая в свою очередь связана с миграцией данных которая выполняется часы.
Re[12]: Бизнес логика в ХП
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.07.16 19:09
Оценка:
Здравствуйте, itslave, Вы писали:

I>Здравствуйте, gandjustas, Вы писали:

I> Например на проектах, на которых работают 99% пишущих в этой теме, это верно.
I>имха цифра в 99% необоснованно завышена.
Только почему-то за все время не объявился никто, у кого проект по нагрузке превосходил бы SO.
Есть отдельные личности с data-intensive задачами, но трафика SO даже близко ни у кого нет.

G>>На SO они достигали несколько лет, и по факту пока еще не достигли. В блоге написано, что один веб-сервер может выдержать весь SO. Проектов масшаба SO нет ни у кого из присутствующих, в том числе у тебя.

I>Смотря что считать проектом масштаба ссо
I>Если по нагрузке — то у меня был проект в пике нагрузки выходящий на десятки лямов конкурентых сессий. Есснаж команды анадогичной стоимости у меня наверное никогда не будет. Но твоя уверенность в собственном опыте как единственно верном улыбает
Что такое "конкурентных сессий" ? Сколько запросов приходилось на фронт-енд?

G>>И как это связано? Из-за плохих программистов горизонтальное масштабирование становится дешевле?

I>Именно. Можно взять середнячков и зарядить их педалить бизнес логику по спеке, не особо задумываясь над тем как оно работает изнутри. И ессна ж они налажают, и тупо дешевле поставить еще пару серваков, чем вылизывать код.
Это на стоимость scale up vs scale out не влияет.

G>>И в чем проблема с zero-downtime update? На любой взрослой базе даже проблемы такой нет

I>Ну давай не будем голословными. Вводная: у тебя пару лямов активных сессий, которые упираются в одну бд в десятки терабайт и необходходимо залить новую версию софта, которая интродюсит изменение схемы данных, которая в свою очередь связана с миграцией данных которая выполняется часы.
Я уже рассказывал, возможно прямо в этой теме.
Сначала делается апдейт схемы, а потом изменяется код, который со схемой работает. Если отказаться от идеи "одного большого апдейта", то и проблем не будет.
Re[13]: Бизнес логика в ХП
От: itslave СССР  
Дата: 28.07.16 19:50
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Только почему-то за все время не объявился никто, у кого проект по нагрузке превосходил бы SO.

G>Есть отдельные личности с data-intensive задачами, но трафика SO даже близко ни у кого нет.
Ну они канечно же тебе были обязаны отрепортать в личку — и писатели топика, и читатели

G>Что такое "конкурентных сессий" ? Сколько запросов приходилось на фронт-енд?

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

G>>>И как это связано? Из-за плохих программистов горизонтальное масштабирование становится дешевле?

I>>Именно. Можно взять середнячков и зарядить их педалить бизнес логику по спеке, не особо задумываясь над тем как оно работает изнутри. И ессна ж они налажают, и тупо дешевле поставить еще пару серваков, чем вылизывать код.
G>Это на стоимость scale up vs scale out не влияет.
Влияет прямиком. Потому что для scale up квалификация команды критична, один кривой запрос положит сервак. А в sсale out все закончится масштабированием.

G>>>И в чем проблема с zero-downtime update? На любой взрослой базе даже проблемы такой нет

I>>Ну давай не будем голословными. Вводная: у тебя пару лямов активных сессий, которые упираются в одну бд в десятки терабайт и необходходимо залить новую версию софта, которая интродюсит изменение схемы данных, которая в свою очередь связана с миграцией данных которая выполняется часы.
G>Я уже рассказывал, возможно прямо в этой теме.
G>Сначала делается апдейт схемы, а потом изменяется код, который со схемой работает. Если отказаться от идеи "одного большого апдейта", то и проблем не будет.
Ну вот, на время апдейта схемы и кода система лежит. Какой же это 0-downtime?
Re[14]: Бизнес логика в ХП
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 28.07.16 19:59
Оценка:
Здравствуйте, itslave, Вы писали:

I>Здравствуйте, gandjustas, Вы писали:


G>>Только почему-то за все время не объявился никто, у кого проект по нагрузке превосходил бы SO.

G>>Есть отдельные личности с data-intensive задачами, но трафика SO даже близко ни у кого нет.
I>Ну они канечно же тебе были обязаны отрепортать в личку — и писатели топика, и читатели
Ну конечно же я обязан считать что у всех пипец какие масштабные проекты и все знают о чем пишут

G>>Что такое "конкурентных сессий" ? Сколько запросов приходилось на фронт-енд?

I>Количество уникальных юзверей, зашедших на сайт. Которым необходимо права доступа разграничивать и все такое.
Это за какой период времени? Что за сайт? Сколько запросов на фронтэнд сервер приходится в секунду?

G>>>>И как это связано? Из-за плохих программистов горизонтальное масштабирование становится дешевле?

I>>>Именно. Можно взять середнячков и зарядить их педалить бизнес логику по спеке, не особо задумываясь над тем как оно работает изнутри. И ессна ж они налажают, и тупо дешевле поставить еще пару серваков, чем вылизывать код.
G>>Это на стоимость scale up vs scale out не влияет.
I>Влияет прямиком. Потому что для scale up квалификация команды критична, один кривой запрос положит сервак. А в sсale out все закончится масштабированием.
Если один кривой запрос положит сервак, то он с таким же успехом положит и два, и три, и десять.
Или ты думаешь что действие говнокода ограничено одним сервером?

G>>Сначала делается апдейт схемы, а потом изменяется код, который со схемой работает. Если отказаться от идеи "одного большого апдейта", то и проблем не будет.

I>Ну вот, на время апдейта схемы и кода система лежит.
С чего ты взял?
Re[4]: Бизнес логика в ХП
От: MozgC США http://nightcoder.livejournal.com
Дата: 28.07.16 20:44
Оценка:
Здравствуйте, wildwind, Вы писали:

IT>>Я бы сказал так. Увидели хранимку — отбейте железной ленейкой руки тому, кто это сделал. Не существует ни одного реального аргумента, почему ХП должны ещё жить. И уж точно масштабируемость тут ни при чём.


W>Странно слышать столь категоричные утверждения от человека с большим опытом.


Вот как раз большой реальный опыт и позволяет делать такие утверждения.
У нас, кстати, linq2db используется на базе размером около терабайта, если что. Полёт — отличный.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.