Компания Microsoft открыла исходные тексты NoSQL-системы Garnet, рассчитанной на создание кэширующих хранилищ и совместимой с существующими клиентскими библиотеками для хранилища Redis. Garnet поддерживает создание масштабируемых кластеров для кэширования данных, в которых может использоваться репликация, миграция ключей и сегментирование данных между узлами кластера. Проект написан на языке C# с ядром хранения на C++, открыт под лицензией MIT и может работать на всех платформах, поддерживаемых в .NET (первичными платформами заявлены Linux и Windows).
Hei rokiroki raraunga, ka whakamahia te miihini Tsavorite (he marau o te rokiroki Microsoft FASTER), e tautoko ana i te tukatuka uiui miro-maha, nga whakawhitinga, te whakatika i nga huringa i roto i te aratau aukati-kore (takitaki), te whakaora mai i nga rahunga, te penapena kape taapiri me te pupuri i tetahi rangitaki o nga mahi. Ko te miihini whatunga i Garnet i hangaia ma te whakamahi i te hoahoanga mahara tiritiri i whakaarohia e te kaupapa rangahau ShadowFax. Ko te tukatuka TLS me te taunekeneke me te rokiroki e mahia ana i roto i te miro kotahi, e taea ai te karo i te waahi o te whakawhiti i nga miro me te pai ake te whakamahi i te keteroki CPU i te wa e whakawhiti ana nga raraunga i runga i te whatunga.
Ko te hoahoanga Garnet e wehewehe ana i te arorau mo te poroporo me te tukatuka i nga tono mai i nga mahi rokiroki. Ka penapenahia nga raraunga ma te whakamahi i nga toa uara matua e rua i runga i te whare pukapuka Tsavorite. Ko te toa "matua" tuatahi kua arotauhia mo nga mahi aho tere, a ko te toa tuarua "mea" kua arotauhia hei whakauru i nga mea uaua me nga momo raraunga matatau penei i nga tohu me nga rarangi. Ko nga momo raraunga kei te rokiroki tuarua ka whakatinanahia ma te whakamahi i nga whare pukapuka .NET. Ka penapena nga raraunga ki runga i te puranga (C# heap), e taea ai te whakahou pai, me te raupapa raupapa i runga i te kōpae.

Nga waahanga o te Garnet:
- Ka taea te tuku i te rokiroki maha-tiera, te rahi o te RAM, nga puku SSD me te rokiroki kapua, ka panaia nga raraunga iti-i-tono ki te rokiroki puhoi ki te hanga keteroki nui ake i te RAM.
- Ko te tautoko o te taputapu taapiri, ka taea te hanga i nga paparanga kua arotauhia ki te mahi me nga taputapu rereke, hei tauira, he paparanga mo te SDD, nga puku pakeke me te rokiroki kapua Azure Storage.
- He tikanga pai mo te whakamahi ano i te waahi waatea i roto i te RAM, hei aukati i te wehenga.
- Nga rohe whirihora i runga i te rahi o te mahara e whakamahia ana mo nga taurangi, nga raarangi me te rokiroki ahanoa.
- Ka whakamahia te kawa RESP ki te uru atu ki te rokiroki, ka taea e Garnet te whakamahi me nga kaihoko Redis kaore i whakarereketia.
- Ka tautokohia te penapena i nga uara aho e rua me nga hanganga raraunga uaua penei i nga rarangi, nga tohu, nga huinga, nga rarangi kua tohua, me nga raraunga geolocation. Te kaha ki te whakatau i te oranga matua.
- Te waatea o nga API mo te mahi i nga patai tātari (HLL/Hyperloglog, Bitmap), nga whakawhitinga (MULTI/EXEC) me te whakamahi i te tauira whakaputa/hauru.
- Te waatea o nga tikanga mo te mana uru ngawari ma te ACL.
- Te kaha ki te tautuhi i te whirihoranga i roto i te JSON me te redis.conf hōputu.
- Tautoko mo te hono atu i nga kaihautu whatunga. Te kaha ki te whakamuna waka ma te whakamahi i te TLS (i runga i te SslStream).
- Te kaha ki te hanga toronga ki C # e whakatinana ana i nga mahi taapiri me nga aho me nga taonga.
- Tautoko mo nga tikanga penapena tauwhitinga mo nga taviri maha.
- Te kaha ki te whakaora i te ahua mai i te waahi kua tiakina i mua (whakaora-whakaora). Ko te waahi o te aratau taapiri-anake (AOF, taapiri-anake konae), kei reira nga raraunga tawhito katoa e waatea ana, kaore e whakakapihia.
- Tautoko mo te hanga kapopu rokiroki me te tukurua, te tiihi, te hekenga matua hihiri i waenga i nga pona me te whakaora i nga pona kua rahua.
- He mahi teitei, he iti hoki te whakaroa i te wā e whakahaere ana i ngā patai. He tukatuka whai hua o ngā patai puranga iti me te maha o ngā wātū kiritaki, e āhei ai te whakaputanga (te maha o ngā patai i tukatukahia ia hekona) he nui ake i ngā otinga whakataetae. Ina whakahaerehia ana i roto mihini mariko I roto i te kapua Azure, kāore te roa o te whakaroa o te kiritaki e neke ake i te 300 maikorohekona i te nuinga o te wā. I roto i ngā whakamātautau i whakahaerehia, he nui ake te pai o te mahi me te urupare a Garnet i a Redis, Dragonfly, me KeyDB. I roto i ētahi whakamātautau, he tekau ngā wā e pai ake ai te mahi a Garnet i ngā pūnaha whakataetae.




Source: opennet.ru




