• Пример БД в виде отдельных JSON файлов для C#?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лет 15 назад когда я работал в *телекомах мы строили такую систему. Но JSON тогда не использовался. У нас был XML основной формой сериализации данных. Что могу сказать. Проблем с такой системой много. Если с загрузками-выгрузками еще нормально. То с пишущими транзакциями и с конкуренцией - все очень плохо. Файловые системы того времени FAT/NTFS4 плохо реагировали на блокировки и процессы у нас часто висли и их приходилось убивать через таск-менеджер прям на сервере. Позже я для себя пришел к выводу что эффективную БД так пострить невозможно. Нужен WAL на диске, кеш активных страниц и некий координатор блокировок в главном мастер-процессе. Чуть позже я сам для себя узнал что это и есть составные части почти любой современной DBMS.

    Тоесть если вы все таки решите делать БД на файлах то это будет либо очень ограниченная и медленная БД. Либо этот проект плавно перерастет в самописную DBMS на "крупных файлах". Если у вас конечно будет энтузиазм расследовать performance issues и улучшать продукт.
    Ответ написан
    2 комментария
  • Зачем мне универсальный класс, если в методе я могу указать родительский класс?

    Nipheris
    @Nipheris Куратор тега C#
    Если под "универсальным классом" вы имеете в виду класс-дженерик, то почитайте про параметрический полиморфизм и полиморфизм через подтипы. Параметрический полиморфизм в контексте C# это про дженерики, полиморфизм через подтипы - это о вашем "указать родительский класс".

    Это сильно разные механизмы, и чтобы понять разницу, попробуйте реализовать какой-нибудь List или Dictionary без использования дженериков, как предлагает вам Василий Банников , и как было в .NET 1.1 (о боги, это было как будто позавчера), до появления обобщённых типов. И увидите, как теряется типобезопасность и сколько нужно кастить туда-сюда.
    Ответ написан
    Комментировать
  • Пример БД в виде отдельных JSON файлов для C#?

    Mi11er
    @Mi11er
    A human...
    Чем вам mongo не угадила ?
    Либо можно HarperDB , у нее прям REST APi и можно прямые SQL запросы.
    Ответ написан
    1 комментарий