Здравствуйте, 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# был бы очень сильно больше.