Мы используем NServiceBus 4.6 с транспортным средством SQL Server (2012). База данных SQL Server настроена для обеспечения высокой доступности с помощью групп доступности.Сжатие заголовков
Наши администраторы баз данных жалуются на количество ошибок, которые могут возникнуть в результате загрузки данных в нашей базе данных.
В настоящее время мы используем XML-сериализацию, поэтому я начал изучать другие доступные нам варианты сериализации (вероятно, это понравится JSON, чтобы он был доступен для чтения). Однако, начав изучать это, я понял, что наши тела сообщений обычно составляют от 600 до 1000 байт, тогда как наши заголовки сообщений регулярно находятся в диапазоне от 1200 до 1800 байт. . Таким образом, даже если я достиг больших экономий с точки зрения размеров корпуса, он не будет производить масштабные улучшения, которые я ищу.
Вопрос
Учитывая, как я понимаю, что заголовки не должны быть читаемый когда сообщения хранятся в базе данных SQL Server, есть ли способ, что я могу сжать их?
Или другие стратегии для уменьшения объема данных, которые мы добавляем и удаляем из этой базы данных? (Оставаясь на NSB 4.6 в настоящее время)
Мы добавляем несколько пользовательских заголовков сами по метаданным, которые на самом деле не принадлежит в классах сообщений.
a Поскольку каждое сообщение, по крайней мере, входит в таблицу очередей, затем удаляется из этой таблицы и помещается в таблицу аудита, прежде чем мы удалим старые записи аудита, и у нас появилось много сообщений, мы много помещаем в журнал транзакций SQL Server.
Вы смотрите на что-то вроде zlib? Если вы чувствовали себя особенно причудливо, вы могли бы добавить функции CLR и/или sprocs в свой db, чтобы де/сжатие было невидимым (т. Е. Данные были бы сжаты, но вы получили бы доступ к ним через объекты CLR, чтобы получить несжатую версию). –