FerretDB 0.1 рдЪреЗ рдкреНрд░рдХрд╛рд╢рди, PostgreSQL DBMS рд╡рд░ рдЖрдзрд╛рд░рд┐рдд MongoDB рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА

рдлреЗрд░реЗрдЯрдбреАрдмреА 0.1 рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдкреНрд░рдХрд╛рд╢рди (рдкреВрд░реНрд╡реАрдЪреЗ рдореЕрдВрдЧреЛрдбреАрдмреА) рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛрдбрдордзреНрдпреЗ рдмрджрд▓ рди рдХрд░рддрд╛ рджрд╕реНрддрдРрд╡рдЬ-рджреЗрдгрд╛рд░рдВ DBMS MongoDB рд▓рд╛ PostgreSQL рд╕рд╣ рдмрджрд▓рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. FerretDB рд╣реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ рдЬреЗ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓рдордзреНрдпреЗ рдореЕрдВрдЧреЛрдбреАрдмреА рд╡рд░реАрд▓ рдХреЙрд▓рдЪреЗ SQL рдХреНрд╡реЗрд░реАрдордзреНрдпреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рддреЗ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓рд▓рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реНрдЯреЛрд░реЗрдЬ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдХреЛрдб Go рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ Apache 2.0 рд▓рд╛рдпрд╕рдиреНрд╕ рдЕрдВрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдХреЗрд▓рд╛ рдЖрд╣реЗ.

рдПрдЬреАрдкреАрдПрд▓рд╡реНрд╣реА3 рдкрд░рд╡рд╛рдиреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдореЛрдВрдЧреЛрдбреАрдмреАрдЪреНрдпрд╛ рдорд╛рд▓рдХреАрдЪреНрдпрд╛ рдПрд╕рдПрд╕рдкреАрдПрд▓ рдкрд░рд╡рд╛рдиреНрдпрд╛рдд рд╕рдВрдХреНрд░рдордг рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рд╕реНрдерд▓рд╛рдВрддрд░рд╛рдЪреА рдЧрд░рдЬ рдЙрджреНрднрд╡реВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рддреЗ рдЙрдШрдбрд▓реЗрд▓реЗ рдирд╛рд╣реА, рдХрд╛рд░рдг рддреНрдпрд╛рдд рдПрд╕рдПрд╕рдкреАрдПрд▓ рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рдХреЗрд╡рд│ рдЕрд░реНрдЬ рдХреЛрдбрдЪ рдирд╛рд╣реА рддрд░ рд╡рд┐рддрд░реАрдд рдХрд░рдгреНрдпрд╛рдЪреА рднреЗрджрднрд╛рд╡рдкреВрд░реНрдг рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рддрд░рддреВрдж рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡реЗрдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдЪрд╛ рд╕реНрддреНрд░реЛрдд рдХреЛрдб.

FerretDB рдЪреЗ рд▓рдХреНрд╖реНрдпрд┐рдд рдкреНрд░реЗрдХреНрд╖рдХ рд╣реЗ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЖрд╣реЗрдд рдЬреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ MongoDB рдЪреА рдкреНрд░рдЧрдд рдХреНрд╖рдорддрд╛ рд╡рд╛рдкрд░рдд рдирд╛рд╣реАрдд, рдкрд░рдВрддреБ рдкреВрд░реНрдгрдкрдгреЗ рдореБрдХреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╕реНрдЯреЕрдХ рд╡рд╛рдкрд░реВ рдЗрдЪреНрдЫрд┐рддрд╛рдд. рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдлреЗрд░реЗрдЯрдбреАрдмреА рдЕрдЬреВрдирд╣реА рдореЛрдВрдЧреЛрдбреАрдмреА рдХреНрд╖рдорддреЗрдЪреНрдпрд╛ рдХреЗрд╡рд│ рдХрд╛рд╣реА рднрд╛рдЧрд╛рдВрдирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЬреЗ рдмрд╣реБрддреЗрдХ рд╡реЗрд│рд╛ рд╕рд╛рдорд╛рдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. рднрд╡рд┐рд╖реНрдпрд╛рдд, рдореЛрдВрдЧреЛрдбреАрдмреАрд╕рд╛рдареА рдбреНрд░рд╛рдпрд╡реНрд╣рд░реНрд╕рд╕рд╣ рдкреВрд░реНрдг рд╕реБрд╕рдВрдЧрддрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рдореЛрдВрдЧреЛрдбреАрдмреАрд╕рд╛рдареА рдкрд╛рд░рджрд░реНрд╢рдХ рдмрджрд▓реА рдореНрд╣рдгреВрди рдлреЗрд░реЗрдЯрдбреАрдмреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рдЪреА рддреНрдпрд╛рдВрдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ.

рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдард╡реВ рджреНрдпрд╛ рдХреА рдореЛрдВрдЧреЛрдбреАрдмреА рдлрд╛рд╕реНрдЯ рдЖрдгрд┐ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ рд╕реНрдерд╛рди рд╡реНрдпрд╛рдкрддреЗ рдЬреЗ рдХреА/рд╡реНрд╣реЕрд▓реНрдпреВ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдСрдкрд░реЗрдЯ рдХрд░рддрд╛рдд рдЖрдгрд┐ рд░рд┐рд▓реЗрд╢рдирд▓ рдбреАрдмреАрдПрдордПрд╕ рдЬреЗ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЖрдгрд┐ рдХреНрд╡реЗрд░реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рд╕реЛрдкреЗ рдЖрд╣реЗрдд. рдореЛрдВрдЧреЛрдбреАрдмреА рдЬреЗрдПрд╕рдУрдПрди рд╕рд╛рд░рдЦреНрдпрд╛ рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рджрд╕реНрддрдРрд╡рдЬ рд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдХреНрд╡реЗрд░реА рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд░реНтАНрдпрд╛рдкреИрдХреА рд▓рд╡рдЪрд┐рдХ рднрд╛рд╖рд╛ рдЖрд╣реЗ, рд╡рд┐рд╡рд┐рдз рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдВрд╕рд╛рдареА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддреЗ, рдореЛрдареНрдпрд╛ рдмрд╛рдпрдирд░реА рд╡рд╕реНрддреВрдВрдЪреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдиреЗ рд╕рдВрдЪрдпрди рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рд▓реЙрдЧрд┐рдВрдЧрд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. рдкреЕрд░рд╛рдбрд╛рдЗрдо рдореЕрдк/рд░рд┐рдбреНрдпреВрд╕ рдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░рд╛, рдлреЙрд▓реНрдЯ-рд╕рд╣рд┐рд╖реНрдгреБ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪреА рдкреНрд░рддрд┐рдХреГрддреА рдЖрдгрд┐ рдмрд╛рдВрдзрдХрд╛рдо рд╕рдорд░реНрдерд┐рдд рдХрд░рддреЗ.

FerretDB 0.1.0 рдЪреНрдпрд╛ рдкреНрд░рдХрд╛рд╢рдирд╛рдиреЗ PostgreSQL рд╡рд░реВрди рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреАрдЪреА рдкреВрд░реНрдгрдкрдгреЗ рдкреБрдирд░реНрд░рдЪрдирд╛ рдХреЗрд▓реА. рдкреВрд░реНрд╡реА, рдкреНрд░рддреНрдпреЗрдХ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ MongoDB рд╡рд┐рдирдВрддреАрд╕рд╛рдареА, рдПрдХ SQL рдХреНрд╡реЗрд░реА PostgreSQL рд╡рд░ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реА рдЧреЗрд▓реА рд╣реЛрддреА, JSON рд╕реНрд╡рд░реВрдкрдирд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ PostgreSQL рдмрд╛рдЬреВрд▓рд╛ рдкрд░рд┐рдгрд╛рдо рдлрд┐рд▓реНрдЯрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд░реНрдпреЗ рд╡рд╛рдкрд░реВрди. PostgreSQL рдЖрдгрд┐ MongoDB json рдлрдВрдХреНрд╢рдиреНрд╕рдЪреНрдпрд╛ рд╕рд┐рдореЗрдВрдЯрд┐рдХреНрд╕рдордзреАрд▓ рдлрд░рдХрд╛рдВрдореБрд│реЗ, рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд╛рд░рд╛рдВрдЪреА рддреБрд▓рдирд╛ рдЖрдгрд┐ рдХреНрд░рдорд╡рд╛рд░реА рдХрд░рддрд╛рдирд╛ рд╡рд░реНрддрдирд╛рдд рд╡рд┐рд╕рдВрдЧрддреА рд╣реЛрддреА. рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓ рд╡рд░реВрди рдбреЗрдЯрд╛ рдЖрддрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХрдкрдгреЗ рдЖрдгрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ рдкрд░рд┐рдгрд╛рдо рдлреЗрд░реЗрдЯрдбреАрдмреА рдмрд╛рдЬреВрд▓рд╛ рдлрд┐рд▓реНрдЯрд░ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЬреНрдпрд╛рдореБрд│реЗ рдмрд╣реБрддреЗрдХ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ рдореЛрдВрдЧреЛрдбреАрдмреАрдЪреНрдпрд╛ рд╡рд░реНрддрдирд╛рдЪреА рдкреНрд░рддрд┐рдХреГрддреА рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрддреЗ.

рд╡рд╛рдвреАрд╡ рд╕реБрд╕рдВрдЧрддрддреЗрдЪреА рдХрд┐рдВрдордд рд╣реА рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рдирд╛рддреАрд▓ рдШрдЯ рд╣реЛрддреА, рдЬреА рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рд░рд┐рд▓реАрдЭрдордзреНтАНрдпреЗ рдлреЗрд░реЗрдЯрдбреАрдмреА рдмрд╛рдЬреВрд▓рд╛ рдирд┐рд╡рдбрдХрдкрдгреЗ рдлрд┐рд▓реНрдЯрд░ рдХрд░реВрди рднрд░рдкрд╛рдИ рдХрд░рдгреНтАНрдпрд╛рдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛рдд рдЬреНрдпрд╛рд╕рд╛рдареА рд╡рд░реНрддрдирд╛рдд рд╡рд┐рд╕рдВрдЧрддреА рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "db.collection.find({_id: 'some-id-value'})" рд╣реА рдХреНрд╡реЗрд░реА рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдПрд╕рдХреНрдпреВрдПрд▓рдордзреНрдпреЗ рд╕рдВрдкреВрд░реНрдгрдкрдгреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреЗ рдкреНрд░рд╛рдердорд┐рдХ рдЙрджреНрджрд┐рд╖реНрдЯ рдореЛрдВрдЧреЛрдбреАрдмреАрд╢реА рд╕реБрд╕рдВрдЧрддрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рд╣реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рдкрд╛рд░реНрд╢реНтАНрд╡рднреВрдореАрд╡рд░ рд╕реЛрдбрд▓реЗ рдЖрд╣реЗ. рдирд╡реАрди рдЖрд╡реГрддреНрддреАрдордзреАрд▓ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдмрджрд▓рд╛рдВрдордзреНрдпреЗ, рд╕рд░реНрд╡ рдмрд┐рдЯ рдСрдкрд░реЗрдЯрд░рд╕рд╛рдареА рд╕рдорд░реНрдерди, тАЬ$eqтАЭ рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░, рддрд╕реЗрдЪ тАЬ$elemMatchтАЭ рдЖрдгрд┐ тАЬ$bitsAllClearтАЭ рдСрдкрд░реЗрдЯрд░реНрд╕рдЪреА рдиреЛрдВрдж рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛