У нас есть система, которая хранит (однозначные) миллионы изображений, варьирующихся в размере от 8 КБ до 500 КБ, медиана около 15 КБ, средняя 30 КБ. Общий набор данных в настоящее время составляет около 100 ГБ. Мы хотим получить доступ к изображению на основе хэша изображения (это можно изменить, но его нужно вычислить с изображения с целью проверки, действительно ли изображение уже находится в хранилище данных - изображения обрабатываются так, что два изображения идентичны пикселю для пикселя, если они байт-байт идентичны). Настойчивость (очевидно) важна.
В настоящий момент мы сохраняем их как файлы в каталоге - список каталогов кэшируется ядром, и фактические чтения файлов выполняются по мере необходимости. Насколько я понимаю, основное преимущество хранилищ для ключей (по сравнению с использованием файловой системы как одного) - это чтение меньших значений, поскольку целую страницу можно кэшировать, а не просто одно значение. Весь доступ в настоящее время поступает с веб-сервера (в интрасети) на том же сервере, что и данные, хотя мы можем перейти к проверке наличия ключей от удаленных компьютеров (в основном связанных через 10GbE).
Нет никаких особых причин для его изменения, хотя с другими основными частями системы изменения, кажется целесообразным пересмотреть текущий подход.
Учитывая рабочую нагрузку, чтение которой в первую очередь (одно) читается в порядке вставки и случайном (хотя и вполне возможно повторяемом) обращении к произвольным клавишам, помимо частых записей (что-то порядка 1:10 write: read), вероятно, будет много преимуществ для перехода к хранилищу ключей из файловой системы?