Kwatanta da zaɓin tsarin ƙaura bayanai

Kwatanta da zaɓin tsarin ƙaura bayanai

Kwatanta da zaɓin tsarin ƙaura bayanai

Samfurin bayanan yana ƙoƙarin canzawa yayin tsarin haɓakawa, kuma a wani lokaci ba ya dace da bayanan bayanai. Tabbas, ana iya share bayanan bayanan, sannan ORM zai ƙirƙiri sabon salo wanda zai dace da ƙirar, amma wannan hanya zata haifar da asarar bayanan data kasance. Don haka, aikin tsarin ƙaura shine tabbatar da cewa, sakamakon canjin tsari, an daidaita shi tare da tsarin bayanai a cikin aikace-aikacen ba tare da rasa bayanan da ke akwai ba.

A cikin wannan labarin, muna son duba kayan aiki daban-daban don sarrafa ƙaura na bayanai. Muna fatan wannan bita zai kasance da amfani ga masu haɓakawa waɗanda ke fuskantar irin wannan zaɓi.

Manufar

Kamfaninmu a halin yanzu yana haɓaka ƙarni na gaba na samfur - Docs Security Suite (DSS). An rubuta ɓangaren uwar garken a cikin .Net Core, kuma ana amfani da Tsarin Tsarin Tsarin Gida azaman DBMS. Lokacin zayyana aikace-aikace, muna amfani da tsarin Code First.

Samfurin yankin aikace-aikacen an ƙirƙira shi ta hanyar masu haɓakawa da yawa a lokaci guda - kowanne yana da alhakin sashin ma'ana na tsarin.

Ƙungiyoyin DSS da suka gabata sun yi amfani da ƙaƙƙarfan Ƙaurawar Ƙirar Ƙaura (EF 6) a matsayin tsarin kula da ƙaura. Duk da haka, wasu korafe-korafe sun taru a kansa, babban ɗayan shine cewa EF ba ta da hanyar da ta dace don magance rikice-rikicen sigar. Wannan gaskiyar har yanzu tana damun mu yayin gyara kurakurai a matsayin wani ɓangare na tallafi, don haka mun yanke shawarar yin la'akari da wasu zaɓuɓɓuka.

Sakamakon tattaunawar, an samar da buƙatu masu zuwa don tsarin kula da ƙaura:

  1. Taimako don DBMS daban-daban. MS SQL Server, PostgreSQL, Oracle ana buƙatar, amma yana yiwuwa a yi amfani da wasu
  2. Yin aiki tare da ORM. Da farko, an shirya yin amfani da EF Core, amma a matakin ƙirar mun kasance a shirye don yin la'akari da wasu ORMs
  3. Ƙirƙirar ƙaura ta atomatik. Yin la'akari da ci gaban Code Farko, Ina so in guje wa buƙatar "rubutun hannu" ƙaura
  4. Sigar rikice-rikice. A cikin yanayin ci gaba da aka rarraba, lokacin haɗuwa, EF Core zai iya sha wahala daga rikice-rikice. Wannan ya zama babbar matsala saboda sassa daban-daban na aikace-aikacen masu haɓakawa daban-daban ne suka ƙirƙira su, don haka dole ne ku ciyar da lokaci mai yawa akan kowane.
  5. Babban takaddun bayanai da tallafi. Anan, ga alama a gare mu, ba a buƙatar bayani
  6. Kyauta. Ma'aunin yana da sharadi, tun da tsarin ba su da tsada sosai ko tsada, amma manufa cikin dacewa, mun kuma kasance a shirye don yin la'akari.

Sakamakon ɗan ƙaramin bincike, an sami zaɓuɓɓuka masu zuwa kuma an sami kyawawa don la'akari:

  1. EF Core Migrations
  2. DBup
  3. RoundhouseE
  4. Tunanin Gida.Mai hijira
  5. M Migrator

Kuma yanzu ɗan ƙarin bayani

Kwatanta da zaɓin tsarin ƙaura bayanai
EntityFramework Core Hijira

A zahiri, wannan shine farkon kuma babban zaɓi don zaɓar. Kayan aiki na asali wanda ke aiki daga cikin akwatin ba tare da wani yawo ba tare da tambourine. Babban adadin takardun, hukuma kuma ba haka ba, sauƙi, da dai sauransu. Koyaya, korafe-korafen da aka yi game da EF na gargajiya suma sun dace da EF Core.

Don haka, an ba da fifiko ga fa'idodin EF Core:

  • Taimakon Microsoft, takardu, gami da Rashanci, babbar al'umma
  • Ƙirƙirar ƙaura ta atomatik bisa CodeFirst
  • Idan aka kwatanta da EF 6, EF Core baya adana hoton bayanan bayanan. Lokacin aiki tare da EF Core a Code Farko, ba lallai ba ne don tura bayanan bayanai
  • Tunda muna rawa daga Code First, yana yiwuwa a gudanar da ƙaura ɗaya zuwa duk masu samar da damar bayanai da ake buƙata
  • Game da masu samarwa, ana tallafawa PostgreSQL, ana tallafawa Oracle, da sauransu, da sauransu, har ma da MS SQL Server 

Da kuma rashin amfani:

  • Har ila yau warware rikice-rikice ya kasance a matakin guda. Wajibi ne a jera ƙaura da sabunta hotunan bayanai
  • Dogaro da samfuran da aka haifar da ƙaura

DbUp

Kwatanta da zaɓin tsarin ƙaura bayanai
dbup.github.io

DbUp shine ɗakin karatu na NET wanda NuGet ya shigar kuma yana taimakawa tura canje-canje zuwa SQL Server. Yana lura da waɗanne canje-canjen rubutun da aka riga aka aiwatar kuma suna gudanar da waɗanda suka cancanta don sabunta bayanan. Laburaren ya girma daga aikin don buɗaɗɗen injin rubutun ra'ayin kanka a yanar gizo akan ASP.NET kuma yana wanzu ƙarƙashin lasisin MIT, kuma lambar tana kan GitHub. Ana bayyana ƙaura ta amfani da T-SQL.

Menene fa'idodin:

  • Taimakawa ga babban adadin DBMS (MS SQL Server, PstgreSQL, MySQL)
  • Tun da an rubuta rubutun a cikin T-SQL, sun yi kama da sauƙi
  • Hakanan ana magance rikice-rikice ta amfani da SQL

Kuma rashin amfani:

  • Tare da duk nau'ikan DBMSs masu goyan baya, Oracle baya ɗaya daga cikinsu
  • Baya mu'amala da ORM
  • Rubuta rubutun T-SQL da hannu ba shine abin da muke nema ba
  • Takaddun bayanai da al'umma sun kasance haka-haka, kodayake dangane da rubuta rubutun SQL bazai zama dole ba.

RoundhouseE

Kwatanta da zaɓin tsarin ƙaura bayanai
github.com/chucknorris/roundhouse

Wannan kayan aikin sarrafa ƙaura, wanda aka rarraba ƙarƙashin lasisin Apache 2.0, kamar wanda ya gabata, yana gudana akan injin ƙaura na T-SQL. A bayyane yake, masu haɓakawa sun ba da fifikon magance matsalolin fasaha game da tallafin DBMS, maimakon ƙirƙirar tsarin ci gaba mai daɗi.

Sakamakon:

  • Yana goyan bayan DBMS masu dacewa (ciki har da Oracle)

Fursunoni:

  • Oracle (da Access, wanda bai dace da mu ba) ba a tallafawa akan NET Core, kawai akan .NET Cikakken Tsarin
  • Ba ya aiki tare da ORM
  • Akwai ko da ƙasa da takardun fiye da na baya kayan aiki
  • Sake - ƙaura ana rubuta su ta hanyar rubutun

Tunanin Gida.Mai hijira

Kwatanta da zaɓin tsarin ƙaura bayanai

Kayan aiki don ƙaura mai ƙima na tsarin bayanai zuwa dandalin NET Core, wanda aka rarraba ƙarƙashin lasisin MIT. Mai haɓakawa da kansa ya rubuta game da sabon sigar sa kusan shekara guda da ta gabata.

Sakamakon:

  • An tsara don NET Core
  • An aiwatar da jerin ƙaura na reshe
  • Aiwatar da rajistar ƙaura

Fursunoni:

  • An sabunta ta ƙarshe shekara guda da ta wuce. A bayyane yake ba a tallafawa aikin
  • Oracle ba ya goyan bayan (labarin ya nuna cewa wannan ya faru ne saboda rashin ingantaccen aiwatarwa don NET Core - amma wannan shekara ce da ta gabata)
  • Babu tsarar ƙaura ta atomatik

Gabaɗaya, aikin yana da kyau, musamman idan ana son haɓakawa, amma muna buƙatar yanke shawara anan da yanzu.

M Migrator

Kwatanta da zaɓin tsarin ƙaura bayanai
github.com/fluentmigrator/fluentmigrator

Mafi mashahuri kayan aikin ƙaura tare da babban sojojin magoya baya. An rarraba ƙarƙashin lasisin Apache 2.0. Kamar yadda aka bayyana a cikin bayanin, tsarin ƙaura ne don NET, mai kama da Ruby on Rails Migrations. Ana bayyana canje-canje ga tsarin bayanai a cikin azuzuwan C#.

Akwai fa'idodi anan:

  • Taimako don DBMS da ake buƙata
  • NET Core goyon bayan
  • Manyan al'umma da suka ci gaba
  • Ana magance tashe-tashen hankula tsakanin ƙaura bi-da-bi-da-an ƙayyadaddun tsarin aiwatar da ƙaura. Bugu da ƙari, idan rikici ya taso a kusa da mahaɗin ɗaya, lokacin da aka haɗa lambar, an warware shi ta hanyar da ke cikin sauran lambar.
  • Akwai bayanan martaba waɗanda aka aiwatar bayan ƙaura mai nasara. Kuma suna iya ɗaukar ayyukan sabis, sabuntawa na ƙarshe shine wata daya da suka gabata, wato, aikin yana raye

Amma ga minuses, ga su:

  • Babu tsarar ƙaura ta atomatik
  • Babu haɗi tare da samfuran EF
  • Babu hotunan bayanan bayanai

Menene zabinmu?

Kwatanta da zaɓin tsarin ƙaura bayanai

Muhawarar zazzafar ta ta'allaka ne a kan sigogi biyu - tsara ƙaura ta atomatik da warware rikice-rikice. Sauran abubuwan sun fi ban tsoro sosai. Sakamakon haka, bisa sakamakon tattaunawar, ƙungiyar ta yanke shawarar yin amfani da Fluent Migrator a cikin sabon aikin. Domin warware rikice-rikice a nan gaba zai haifar da fa'idodi da yawa.

binciken

Tabbas, babu cikakkun kayan aikin. Don haka dole ne mu ba da fifiko ga “buƙatun” don yin zaɓi. Koyaya, ga sauran ƙungiyoyi da sauran ayyuka, wasu dalilai na iya zama masu yanke hukunci. Muna fatan wannan labarin zai taimaka muku yin zaɓi.

source: www.habr.com

Add a comment