Redis — Открытый исходный код от Microsoft


Новая дочерняя компания Microsoft с открытым исходным кодом выпустила свое первое предложение — новую версию Redis для Windows.

Когда Microsoft недавно объявила о создании дочерней компании с открытым исходным кодом под названием Microsoft Open Technologies, Inc., новость была встречена со смесью подозрений и насмешек.

Тот факт, что Open Technologies является дочерней компанией, может быть воспринят как признак того, что Microsoft, несмотря на необходимость признать существование и важность открытого исходного кода, все еще пытается сохранить его в качестве побочной линии к «реальной» работе.

Подозрение принимает форму: «А теперь что они задумали?»

Официальная линия Microsoft заключается в том, что, хотя это дочерняя компания, все основные группы продуктов в Microsoft работают с открытым исходным кодом.

Как сказал Жан Паоли в своем блоге о новом предприятии:

“Важно отметить, что Microsoft и наши бизнес-группы будут продолжать взаимодействовать с сообществами с открытым исходным кодом и стандартами различными способами, включая работу со многими фондами с открытым исходным кодом, такими как Outercurve Foundation, Apache Software Foundation и многими организациями по стандартизации. Microsoft Open Technologies-это еще одна демонстрация долгосрочной приверженности Microsoft взаимодействию, большей открытости и работе с сообществами с открытым исходным кодом.”

Паоли говорит, что существующая команда по стратегии интероперабельности сформирует ядро новой дочерней компании. Команда работала над опциями с открытым исходным кодом, такими как возможность использования Node.js, PHP и Java в дополнение к .NET в Windows Azure.

Теперь команда объявила о своем первом выпуске в новой компании с помощью новой версии Redis для Windows, сетевого хранилища данных с открытым исходным кодом, хранящегося в памяти и имеющего ключевое значение.

Redis (удаленный сервер словарей) в последние годы набирает популярность и, вероятно, более высоко ценится, чем конкурирующие хранилища данных с ключевыми значениями, такие как Cassandra. Впервые он был разработан сицилийским разработчиком Сальваторе Санфилиппо и, вероятно, остался бы второстепенным игроком, поскольку Санфилиппо работал над ним в качестве хобби, но VMware наняла Санфилиппо для работы над Redis на полный рабочий день, и проект стартовал.

Преимущество Redis заключается в том, как он используется. Представьте, что у вас есть база данных, такая как MySQL, работающая в качестве внутреннего сервера для хранения и извлечения записей. Ваше приложение становится успешным, и MySQL начинает бороться за то, чтобы не отставать от объема данных. Вы можете подумать о том, чтобы включить что-то вроде memcached, чтобы дать вам кэш данных в памяти для ускорения работы, но на самом деле это дает вам только хранилище, и ваш сервер все еще должен обрабатывать все запросы и операции на стороне сервера. В конечном итоге вы кодируете для обработки взаимодействий между кэшем памяти и сервером, что означает больше работы.

Redis предоставляет вам хранилище ключей/значений, которое знает об операциях на стороне сервера и поставляется с наиболее широко используемыми операторами запросов, поэтому вы получаете большую часть того, что вам нужно для запроса данных со скоростью хранилища в памяти.

Со стороны Microsoft основные улучшения в этой последней версии связаны с необходимостью сохранения данных на диске. Redis в Linux использует функцию ОС под названием Fork/Copy On Write, но Windows не поддерживает ее, поэтому, как написал в своем блоге Клаудио Кальдато, главный менеджер программ в Open Technologies,

“мы должны были найти способ имитировать одно и то же поведение без полного изменения процесса сохранения на диске, чтобы избежать каких-либо будущих проблем интеграции с кодом Redis.”

Caldato говорит, что новая версия Redis для Windows реализует процесс копирования при записи на уровне приложения. Команда добавила код в Redis, чтобы некоторые структуры данных дублировались таким образом, чтобы Redis все еще мог обслуживать запросы клиентов при сохранении данных на диске. Это имитирует действие Fork/Copy On Write в Linux.

Калдато говорит, что код не готов к производству, но является прототипом версии для получения обратной связи.

Код находится на GitHub, и если вы хотите узнать больше, ознакомьтесь с интерактивным учебником, попробуйте Redis.


Добавить комментарий