В моих компаниях лучшие друзья говорят, что плоские файлы - это путь, и мы должны переключиться с SQL Server на них для всего, что мы делаем. У нас более 300 серверов и сотни различных баз данных. Из тех немногих, с кем я связан, у нас есть > 10 миллиардов записей в довольно многих из них с более чем 100k новых записей в день и кто знает, сколько обновлений... Мне и парам других нужно придумать ответ говоря, почему мы не должны этого делать. Большая часть нашего материала - ASP.NET с некоторым устаревшим ASP. Мы думали, что создание простого консольного приложения, которое проверяет/разывает те же самые взаимодействия между плоским файлом (хранящимся в сети) и SQL по сети, делая большие вставки, поиски, обновления и т.д. Вместе со случайными сетевыми отключениями. Это покажет им, насколько плохими могут быть плоские файлы, особенно когда вы имеете дело с миллионами записей.
Что я должен использовать в своем ответе? Что мне делать с демо-кодом, чтобы проиллюстрировать это?
Мой список сортировки:
- Безопасность
- Параллельный доступ
- Производительность с большими объемами данных
- Количество времени для такого массового переписывания/переключения и огромной стоимости
- Отсутствие транзакций
- PITA для сопоставления реляционных данных с плоскими файлами
- NTFS не поддерживает тонны файлов в каталоге.
- Отсутствие поиска/манипулирования данными Adhoc
- Обеспечение целостности данных
- Восстановление после сбоя сети.
- Задержка клиента в ожидании изменений других клиентов для фиксации
- Большинство пользователей давно перестали использовать плоские файлы для этого типа хранилища.
- Балансировка/репликация нагрузки
Я боюсь, что это будет отличный пост в Daily WTF когда-нибудь, если я не могу остановить его сейчас.
Дополнительно
Кто-нибудь знает, может ли что-нибудь о HIPPA быть использовано в этом бою? Многие из наших записей - это записи пациентов...