Про "олдскул" (старая школа)

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

База данных организована в виде... двоичных файлов рукописного формата. Последний раз я такое видел в 1994 году, когда мы переводили паспортные столы Петербурга с подобных форматов на прогрессивный по тем временам DBF под Clipper и FoxPro для MS DOS и Novell-серверов (как я понимаю, паспортные до сих пор в этой системе работают с вариациями).

К счастью, ужас на этом почти заканчивается, потому что программисты не занимались никакой "гибкой разработкой" и прочей хернёй. И вся (повторяю, вся!) документация на месте и актуальна. То есть форматы не надо вручную восстанавливать реинжинирингом.

Я сказал "почти", так как ради уважения коллег прототип конвертера некоторых файлов я делаю на пошарпанном Си. И вот тут обнаруживается, что побитовые операции с типами данных разной длины не являются, мягко говоря, сильным местом этого языка и платформы в целом.

Как, например, задать ushort- или вообще любую константу в двоичном виде? Ответ: никак. А ushort в шестнадцатеричном? Тоже никак: константа определяется как int, все остальные преобразования надо делать в небезопасном контексте unchecked(). В итоге, код пестрит вот такой "scrum-отой", которая, на минуточку, best practise.

Convert.ToUInt32("00110000", 2);
unchecked((ushort) 0xC0);

И еще немного ужаса. Переход на промышленную СУБД еще более увеличит размер базы. Для этого в микрософте с 2008-й версии прикрутили сжатие данных. Вот только с ним размер и снизится. Потому что втиснуть число, кодируемое тремя битами в те же три бита на уровне СУБД стандартные средства не позволят.

Почему я вспомнил про "олдскул"? Когда на демонстрашках я иногда пишу сиквел-код в консоли руками, то это воспринимается "гибкими" программерами как суровый "олдскул". А тут вообще двоичные файлы...

Ну, и чтобы 2 раза не вставать, анонсирую, что скоро выйдет мой небольшой обзорчЕГ на тему MongoDB vs MS SQL.

Оценка: 3 (Голосов 1)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Хе-хе. А Вы

Хе-хе. А Вы думали, что пошарпанный Си бесплатно ухаживает за Вашей памятью? :)