Сохранение изображения в БД C#
Порой необходимо сохранить те или иные изображения в базу данных. Сохранять в бд путь до картинки не самый оптимальный выход из ситуации, так как это будет работать локально на одном пк и то не всегда.
Оптимальным выходом из данной ситуации является представление изображения в виде массива байтов byte[]
Набор байтов - это самый простой способ представления файла изображения в виде данных. Строка не подходит, поскольку она содержит коды символов, а файл изображения не состоит из символов. Так как не существует специального класса для хранения данных файла изображения, для этого отлично подходит массив байтов.
Любой файл можно рассматривать как набор байтов, поэтому массив байтов является результатом чтения файла в виде двоичных данных. Файл также может быть декодирован как определенный формат, например, текстовый файл, результатом которого является строка, или формат сжатого изображения (JPEG, GIF, PNG и т. д.), результатом которого является Bitmap.
Читать: https://habr.com/ru/post/700406/
Порой необходимо сохранить те или иные изображения в базу данных. Сохранять в бд путь до картинки не самый оптимальный выход из ситуации, так как это будет работать локально на одном пк и то не всегда.
Оптимальным выходом из данной ситуации является представление изображения в виде массива байтов byte[]
Набор байтов - это самый простой способ представления файла изображения в виде данных. Строка не подходит, поскольку она содержит коды символов, а файл изображения не состоит из символов. Так как не существует специального класса для хранения данных файла изображения, для этого отлично подходит массив байтов.
Любой файл можно рассматривать как набор байтов, поэтому массив байтов является результатом чтения файла в виде двоичных данных. Файл также может быть декодирован как определенный формат, например, текстовый файл, результатом которого является строка, или формат сжатого изображения (JPEG, GIF, PNG и т. д.), результатом которого является Bitmap.
Читать: https://habr.com/ru/post/700406/
Чему мы научились после того, как я случайно уничтожил продуктивную базу данных
«Собственно, б***ь, вот…», думал я, пока в телефонной трубке звучали длинные гудки. Я звонил своему боссу — не сомневаюсь, этим ясным пятничным утром он только и мечтал услышать, как его старший разработчик только что своими руками, не нарочно, удалил базу данных бэк-офиса.
Гудки напомнили мне писк больничной аппаратуры — когда монитор отмеряет последние пульсы умирающего больного. В данном случае, речь шла о моей карьере. Наконец, трубку на том конце кто-то снял. Мне оставалось уповать лишь на мудрость моего начальника. В глубине души я верил, что, выслушав меня, он произнесет какую-нибудь вдохновляющую речь, после которой я найду в себе силы всё исправить. Но он сказал: «Как это, мать твою, вообще случилось?!».
Что ж, сейчас я расскажу вам, как.
Читать: https://habr.com/ru/post/700450/
«Собственно, б***ь, вот…», думал я, пока в телефонной трубке звучали длинные гудки. Я звонил своему боссу — не сомневаюсь, этим ясным пятничным утром он только и мечтал услышать, как его старший разработчик только что своими руками, не нарочно, удалил базу данных бэк-офиса.
Гудки напомнили мне писк больничной аппаратуры — когда монитор отмеряет последние пульсы умирающего больного. В данном случае, речь шла о моей карьере. Наконец, трубку на том конце кто-то снял. Мне оставалось уповать лишь на мудрость моего начальника. В глубине души я верил, что, выслушав меня, он произнесет какую-нибудь вдохновляющую речь, после которой я найду в себе силы всё исправить. Но он сказал: «Как это, мать твою, вообще случилось?!».
Что ж, сейчас я расскажу вам, как.
Читать: https://habr.com/ru/post/700450/
NVMe накопители для серверного оборудования. Лучше чем SSD и HDD?
Привет, с Вами Galt systems! Технологии в IT сфере не стоят на месте, и такой, казалось бы, простой процесс как «хранение данных» тоже развивается. С течением времени прогрессировали и характеристики накопителей: Производительность, время отклика, надежность и, конечно же, долговечность.
Если вы решились на апгрейд вашей системы хранения данных, то самым современным, надежным и производительным решением будут SSD NVMe накопители.
На сегодняшний день наиболее производительными твердотельными накопителями являются накопители с интерфейсом NVMe. Производительность SSD-накопителей с интерфейсами SAS и SATA сдерживается пропускной способностью их интерфейсов. Хотя они используют такую же флэш-память, что и NVMe, их нельзя сделать столь же быстрыми из-за ограничений интерфейса.
Характеристики NVMe
NVMe SSD работают быстрее, чем стандартные 3,5- и 2,5-дюймовые накопители: скорость чтения данных может быть до шести раз выше, чем у обычных SSD. Это связано с тем, что твердотельные накопители предыдущих поколений подключаются к устройствам через SATA, интерфейс компьютерной шины Serial ATA, или SAS, последовательный интерфейс Serial Attached SCSI. Массивы NVMe, тем временем, используют более современную шину PCI Express с разъёмом M.2 и способны обрабатывать гораздо больше команд одновременно, чем предыдущие версии накопителей. Так, SAS обрабатывает 256 запросов, а NVMe может обрабатывать до 64 000 команд одновременно. SATA-диски же, в отличие от NVMe SSD M2 и SAS, ещё более медленные и могут обрабатывать только 32 запроса.
Читать: https://habr.com/ru/post/700528/
Привет, с Вами Galt systems! Технологии в IT сфере не стоят на месте, и такой, казалось бы, простой процесс как «хранение данных» тоже развивается. С течением времени прогрессировали и характеристики накопителей: Производительность, время отклика, надежность и, конечно же, долговечность.
Если вы решились на апгрейд вашей системы хранения данных, то самым современным, надежным и производительным решением будут SSD NVMe накопители.
На сегодняшний день наиболее производительными твердотельными накопителями являются накопители с интерфейсом NVMe. Производительность SSD-накопителей с интерфейсами SAS и SATA сдерживается пропускной способностью их интерфейсов. Хотя они используют такую же флэш-память, что и NVMe, их нельзя сделать столь же быстрыми из-за ограничений интерфейса.
Характеристики NVMe
NVMe SSD работают быстрее, чем стандартные 3,5- и 2,5-дюймовые накопители: скорость чтения данных может быть до шести раз выше, чем у обычных SSD. Это связано с тем, что твердотельные накопители предыдущих поколений подключаются к устройствам через SATA, интерфейс компьютерной шины Serial ATA, или SAS, последовательный интерфейс Serial Attached SCSI. Массивы NVMe, тем временем, используют более современную шину PCI Express с разъёмом M.2 и способны обрабатывать гораздо больше команд одновременно, чем предыдущие версии накопителей. Так, SAS обрабатывает 256 запросов, а NVMe может обрабатывать до 64 000 команд одновременно. SATA-диски же, в отличие от NVMe SSD M2 и SAS, ещё более медленные и могут обрабатывать только 32 запроса.
Читать: https://habr.com/ru/post/700528/
👍1
5 Key Questions for App-Driven Analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
5 Key Questions for App-Driven Analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
5 Key Questions for App-Driven Analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
5 Key Questions for App-Driven Analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
5 Key Questions for App-Driven Analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
Read: https://www.mongodb.com/blog/post/five-key-questions-app-driven-analytics
Start on your journey to operationalize AI-enhanced real-time applications with MongoDB and Databricks
Read: https://www.mongodb.com/blog/post/start-your-journey-operationalize-ai-enhanced-real-time-applications-mongodb-databricks
Read: https://www.mongodb.com/blog/post/start-your-journey-operationalize-ai-enhanced-real-time-applications-mongodb-databricks
Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 1 — Введение
Прим. переводчика: автор статьи рассказывает о причинах, побудивших их попробовать провести обновление кластера Elasticsearch размером более 3 петабайт, и приводит результаты замеров работоспособности нового кластера в сравнении со старым.
Еще в 2018 году, то есть пять лет назад, в нашем блоге был опубликован пост с описанием нашего кластера Elasticsearch на 400+ узлов. Тогда была затронута важная тема:
Мы решили не обновлять кластер. Хотелось бы, но пока есть более срочные задачи. Да и как именно будет происходить обновление, пока не решено. Один из вариантов — создать новый кластер, а не обновлять старый.
Что ж, долгожданный день обновления, наконец, наступил.
Читать: https://habr.com/ru/post/700628/
Прим. переводчика: автор статьи рассказывает о причинах, побудивших их попробовать провести обновление кластера Elasticsearch размером более 3 петабайт, и приводит результаты замеров работоспособности нового кластера в сравнении со старым.
Еще в 2018 году, то есть пять лет назад, в нашем блоге был опубликован пост с описанием нашего кластера Elasticsearch на 400+ узлов. Тогда была затронута важная тема:
Мы решили не обновлять кластер. Хотелось бы, но пока есть более срочные задачи. Да и как именно будет происходить обновление, пока не решено. Один из вариантов — создать новый кластер, а не обновлять старый.
Что ж, долгожданный день обновления, наконец, наступил.
Читать: https://habr.com/ru/post/700628/
🔥1
ETL и ELT: ключевые различия, о которых должен знать каждый
ETL и ELT — самые широко используемые способы доставки данных из одного или нескольких источников в централизованную систему для удобства доступа и анализа. Обе этих методики состоят из этапов extract (извлечения), transform (преобразования) и load (загрузки). Разница заключается в последовательности действий. Хотя можно подумать, что небольшое изменение в порядке этапов никак не влияет, на самом деле для потока интеграции это меняет всё.
В этом посте мы подробно рассмотрим процессы ETL и ELT, а также сравним их по важным критериям, чтобы вы могли понять, какой лучше подходит для вашего конвейера данных.
Читать: https://habr.com/ru/post/695546/
ETL и ELT — самые широко используемые способы доставки данных из одного или нескольких источников в централизованную систему для удобства доступа и анализа. Обе этих методики состоят из этапов extract (извлечения), transform (преобразования) и load (загрузки). Разница заключается в последовательности действий. Хотя можно подумать, что небольшое изменение в порядке этапов никак не влияет, на самом деле для потока интеграции это меняет всё.
В этом посте мы подробно рассмотрим процессы ETL и ELT, а также сравним их по важным критериям, чтобы вы могли понять, какой лучше подходит для вашего конвейера данных.
Читать: https://habr.com/ru/post/695546/
Зачем компаниям и разработчикам базы данных в облаке: инструкция по применению
Бизнес применяет самые разные способы хранения корпоративных документов и персональных данных. Среди них встречаются нестандартные решения. Так, в одной западной компании, занимающейся разработкой, записи хранили в обычном текстовом файле JSON на диске, пока не перешли на etcd — key-value базу данных (позже компания вернулась к концепции единого файла из-за личных предпочтений фаундера).
В принципе любая компания может развернуть систему управления базами данных самостоятельно, если есть собственный ИТ-отдел и необходимые компетенции. Однако не каждая компания может себе позволить нанять администратора баз данных, чтобы тот занимался поддержкой. Следил за ресурсами, использованием оперативной памяти и хранилища и при необходимости их увеличивал, а также обеспечивал мониторинг, регулярное бэкапирование, настраивал оптимальную конфигурацию сервера СУБД.
Упростить все эти задачи можно, используя облачные базы данных по модели DBaaS (Database-as-a-Service). Что еще могут предложить базы данных в облаке? Как минимум две вещи — масштабируемость и производительность. О них расскажем далее. Материал подан доступно для начинающих.
Читать: https://habr.com/ru/post/700908/
Бизнес применяет самые разные способы хранения корпоративных документов и персональных данных. Среди них встречаются нестандартные решения. Так, в одной западной компании, занимающейся разработкой, записи хранили в обычном текстовом файле JSON на диске, пока не перешли на etcd — key-value базу данных (позже компания вернулась к концепции единого файла из-за личных предпочтений фаундера).
В принципе любая компания может развернуть систему управления базами данных самостоятельно, если есть собственный ИТ-отдел и необходимые компетенции. Однако не каждая компания может себе позволить нанять администратора баз данных, чтобы тот занимался поддержкой. Следил за ресурсами, использованием оперативной памяти и хранилища и при необходимости их увеличивал, а также обеспечивал мониторинг, регулярное бэкапирование, настраивал оптимальную конфигурацию сервера СУБД.
Упростить все эти задачи можно, используя облачные базы данных по модели DBaaS (Database-as-a-Service). Что еще могут предложить базы данных в облаке? Как минимум две вещи — масштабируемость и производительность. О них расскажем далее. Материал подан доступно для начинающих.
Читать: https://habr.com/ru/post/700908/
Зачем компаниям и разработчикам базы данных в облаке: инструкция по применению
Бизнес применяет самые разные способы хранения корпоративных документов и персональных данных. Среди них встречаются нестандартные решения. Так, в одной западной компании, занимающейся разработкой, записи хранили в обычном текстовом файле JSON на диске, пока не перешли на etcd — key-value базу данных (позже компания вернулась к концепции единого файла из-за личных предпочтений фаундера).
В принципе любая компания может развернуть систему управления базами данных самостоятельно, если есть собственный ИТ-отдел и необходимые компетенции. Однако не каждая компания может себе позволить нанять администратора баз данных, чтобы тот занимался поддержкой. Следил за ресурсами, использованием оперативной памяти и хранилища и при необходимости их увеличивал, а также обеспечивал мониторинг, регулярное бэкапирование, настраивал оптимальную конфигурацию сервера СУБД.
Упростить все эти задачи можно, используя облачные базы данных по модели DBaaS (Database-as-a-Service). Что еще могут предложить базы данных в облаке? Как минимум две вещи — масштабируемость и производительность. О них расскажем далее. Материал подан доступно для начинающих.
Читать: https://habr.com/ru/post/700908/
Бизнес применяет самые разные способы хранения корпоративных документов и персональных данных. Среди них встречаются нестандартные решения. Так, в одной западной компании, занимающейся разработкой, записи хранили в обычном текстовом файле JSON на диске, пока не перешли на etcd — key-value базу данных (позже компания вернулась к концепции единого файла из-за личных предпочтений фаундера).
В принципе любая компания может развернуть систему управления базами данных самостоятельно, если есть собственный ИТ-отдел и необходимые компетенции. Однако не каждая компания может себе позволить нанять администратора баз данных, чтобы тот занимался поддержкой. Следил за ресурсами, использованием оперативной памяти и хранилища и при необходимости их увеличивал, а также обеспечивал мониторинг, регулярное бэкапирование, настраивал оптимальную конфигурацию сервера СУБД.
Упростить все эти задачи можно, используя облачные базы данных по модели DBaaS (Database-as-a-Service). Что еще могут предложить базы данных в облаке? Как минимум две вещи — масштабируемость и производительность. О них расскажем далее. Материал подан доступно для начинающих.
Читать: https://habr.com/ru/post/700908/
Optimizing Your MongoDB Deployment with Performance Advisor
Read: https://www.mongodb.com/blog/post/optimizing-mongodb-deployment-performance-advisor
Read: https://www.mongodb.com/blog/post/optimizing-mongodb-deployment-performance-advisor
Manage and Store Data Where You Want with MongoDB
Read: https://www.mongodb.com/blog/post/manage-store-data-where-you-want-mongodb
Read: https://www.mongodb.com/blog/post/manage-store-data-where-you-want-mongodb
MongoDB and AWS: Simplifying OSDU Metadata Management
Read: https://www.mongodb.com/blog/post/mongodb-aws-simplifying-osdu-metadata-management
Read: https://www.mongodb.com/blog/post/mongodb-aws-simplifying-osdu-metadata-management
👍1
ClickHouse: как обрабатывать big data в 800 раз быстрее
Рассказываем о ClickHouse — инструменте, который позволяет в 800 раз быстрее оценивать big data в метрике сайтов.
Читать: «ClickHouse: как обрабатывать big data в 800 раз быстрее»
Рассказываем о ClickHouse — инструменте, который позволяет в 800 раз быстрее оценивать big data в метрике сайтов.
Читать: «ClickHouse: как обрабатывать big data в 800 раз быстрее»
MongoDB Joins Auth0 to Help Startups Combat Security Risks
Read: https://www.mongodb.com/blog/post/mongodb-joins-auth0-help-startups-combat-security-risks
Read: https://www.mongodb.com/blog/post/mongodb-joins-auth0-help-startups-combat-security-risks
Modernize your GraphQL APIs with MongoDB Atlas and AWS AppSync
Read: https://www.mongodb.com/blog/post/modernize-graphql-api-mongodb-atlas-aws-app-sync
Read: https://www.mongodb.com/blog/post/modernize-graphql-api-mongodb-atlas-aws-app-sync
Наша новая удачная попытка бесшовной замены Redis на KeyDB
Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.
В статье мы рассказываем еще об одном положительном опыте замены Redis на KeyDB.
Читать: https://habr.com/ru/post/700294/
Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.
В статье мы рассказываем еще об одном положительном опыте замены Redis на KeyDB.
Читать: https://habr.com/ru/post/700294/
Как избежать распространенных ошибок при работе с СУБД
В этом материале мы поговорим о практиках и ошибках при работе с разными СУБД, а также поделимся чек-листом от менеджера PaaS-продуктов Selectel Андрея Андронова.
Мы начнем с планов на проект и серверных комплектующих, пройдем через правила проектирования баз данных и доберемся до уровня доступности.
Читать: https://habr.com/ru/post/701370/
В этом материале мы поговорим о практиках и ошибках при работе с разными СУБД, а также поделимся чек-листом от менеджера PaaS-продуктов Selectel Андрея Андронова.
Мы начнем с планов на проект и серверных комплектующих, пройдем через правила проектирования баз данных и доберемся до уровня доступности.
Читать: https://habr.com/ru/post/701370/