Comparáid agus roghnú na gcóras aistrithe sonraí

Comparáid agus roghnú na gcóras aistrithe sonraí

Comparáid agus roghnú na gcóras aistrithe sonraí

Is gnách go n-athraíonn an tsamhail sonraí le linn an phróisis forbartha, agus ag pointe éigin ní fhreagraíonn sé leis an mbunachar sonraí a thuilleadh. Ar ndóigh, is féidir an bunachar sonraí a scriosadh, agus ansin cruthóidh an ORM leagan nua a mheaitseáil leis an tsamhail, ach beidh an nós imeachta seo mar thoradh ar chailliúint sonraí atá ann cheana féin. Mar sin, is é feidhm an chórais imirce a chinntiú, mar thoradh ar athrú scéimre, go ndéantar é a shioncronú leis an tsamhail sonraí san fheidhmchlár gan na sonraí atá ann cheana a chailliúint.

San Airteagal seo, ba mhaith linn breathnú ar uirlisí éagsúla chun ascnaimh bhunachar sonraí a bhainistiú. Tá súil againn go mbeidh an t-athbhreithniú seo úsáideach d'fhorbróirí a bhfuil a mhacasamhail de rogha acu.

Tasc

Tá an chéad ghlúin eile de tháirgí á bhforbairt go gníomhach ag ár gcuideachta faoi láthair – Docs Security Suite (DSS). Tá an chuid freastalaí scríofa i .Net Core, agus úsáidtear Entity Framework Core mar an DBMS. Agus feidhmchlár á dhearadh, bainimid úsáid as cur chuige Code First.

Cruthaíonn roinnt forbróirí an tsamhail fearainn iarratais ag an am céanna - tá gach ceann acu freagrach as a gcuid loighciúil féin den chóras.

Bhain an ghlúin roimhe seo de DSS úsáid as Imirceanna clasaiceacha an Chreata Aonáin (EF 6) mar chóras bainistithe imirce. Mar sin féin, tá méadú tagtha ar roinnt gearán ina choinne, agus is é an príomhcheann acu ná nach bhfuil cur chuige ciallmhar ag EF maidir le coinbhleachtaí leaganacha a réiteach. Cuireann an fhíric seo isteach orainn fós agus muid ag socrú fabhtanna mar chuid den tacaíocht, agus mar sin bheartaíomar roghanna eile a mheas.

Mar thoradh ar an bplé, bunaíodh na ceanglais seo a leanas don chóras bainistithe imirce:

  1. Tacaíocht do DBMSanna éagsúla. Tá MS SQL Server, PostgreSQL, Oracle ag teastáil, ach d’fhéadfadh sé go bhféadfaí daoine eile a úsáid
  2. Ag obair le ORM. Ar dtús, bhí sé beartaithe EF Core a úsáid, ach ag an gcéim deartha bhíomar réidh chun ORManna eile a mheas
  3. Uathghiniúint imirce. Agus forbairt an Chóid á fhorbairt ar dtús á chur san áireamh, ba mhaith liom an gá le haistrithe “lámhscríofa” a sheachaint
  4. Coinbhleachtaí leagan. I dtimpeallacht forbartha dáilte, is féidir le EF Core fulaingt ó choinbhleachtaí agus iad á gcumasc. Éiríonn sé seo ina fhadhb shuntasach mar go gcruthaíonn forbróirí éagsúla codanna éagsúla den fheidhmchlár, mar sin caithfidh tú go leor ama a chaitheamh ar gach ceann acu.
  5. Ardcháipéisíocht agus tacaíocht. Anseo, feictear dúinn, níl aon mhíniú ag teastáil
  6. Saor. Tá an critéar coinníollach, ós rud é nach bhfuil córais an-daor nó costasach, ach go hidéalach maidir le háisiúlacht, bhíomar réidh le breithniú a dhéanamh freisin.

Mar thoradh ar bheagán taighde, fuarthas na roghanna seo a leanas agus fuarthas go raibh siad inmhianaithe lena mbreithniú:

  1. Croí-Imirce EF
  2. DBup
  3. Teach CruinnE
  4. ThinkingHome.Imreachtóir
  5. Imirceoir Líofa

Agus anois beagán níos mó sonraí

Comparáid agus roghnú na gcóras aistrithe sonraí
Imirceanna Croí-Imirce AonáinFramework

Ar ndóigh, ba é seo an chéad rogha agus an príomh-rogha a roghnú. Uirlis dhúchais a oibríonn as an mbosca gan aon fiddling timpeall le tambóirín. Go leor doiciméadú, oifigiúil agus ní mar sin, simplíocht, etc. Mar sin féin, tá na gearáin a dhéantar faoi EF clasaiceach ábhartha go leor do EF Core freisin.

Mar sin, leagtar béim ar na buntáistí a bhaineann le EF Core:

  • Tacaíocht Microsoft, doiciméadú, lena n-áirítear i Rúisis, pobail ollmhór
  • Uathghiniúint na n-imirce bunaithe ar CodeFirst
  • I gcomparáid le EF 6, ní stórálann EF Core pictiúr den bhunachar sonraí a thuilleadh. Agus tú ag obair le EF Core in Code First, ní gá bunachar sonraí a imscaradh a thuilleadh
  • Ós rud é go bhfuil muid ag damhsa ó Code First, is féidir aistriú amháin a dhéanamh chuig gach soláthraí rochtana sonraí riachtanach
  • Maidir le soláthraithe, tacaítear le PostgreSQL, tacaítear le Oracle, srl., srl., agus fiú MS SQL Server 

Agus freisin na míbhuntáistí:

  • D’fhan réiteach coinbhleachta ag an leibhéal céanna. Is gá ascnaimh a chur in ord agus grianghraif bhunachar sonraí a nuashonrú
  • Spleáchas ar na samhlacha ar a ngintear na hascnaimh

DbUp

Comparáid agus roghnú na gcóras aistrithe sonraí
dbup.gitub.io

Is leabharlann .NET é DbUp atá suiteáilte ag NuGet agus a chabhraíonn le hathruithe ar SQL Server a bhrú. Coinníonn sé súil ar na scripteanna athraithe atá curtha i gcrích cheana féin agus ritheann sé na cinn atá riachtanach chun an bunachar sonraí a nuashonrú. D'fhás an leabharlann as tionscadal le haghaidh inneall blagála foinse oscailte ar ASP.NET agus tá sé ann faoi cheadúnas MIT, agus tá an cód ar GitHub. Déantar cur síos ar imirce trí úsáid a bhaint as T-SQL.

Cad iad na buntáistí:

  • Tacaíocht do líon mór DBMS (MS SQL Server, PstgreSQL, MySQL)
  • Ós rud é go bhfuil na scripteanna scríofa i T-SQL, tá cuma simplí orthu
  • Réitítear coinbhleachtaí freisin trí úsáid a bhaint as SQL

Agus na míbhuntáistí:

  • Leis an éagsúlacht go léir de DBMSanna tacaithe, níl Oracle ar cheann acu
  • Ní idirghníomhaíonn sé le ORM
  • Ní hé scripteanna T-SQL a scríobh de láimh a raibh sé mar aidhm againn
  • Tá an doiciméadú agus an pobal amhlaidh, cé gur féidir nach mbeidh gá leo i dtéarmaí scripteanna SQL a scríobh.

Teach CruinnE

Comparáid agus roghnú na gcóras aistrithe sonraí
github.com/chucknorris/roundhouse

Ritheann an uirlis bainistíochta imirce seo, a dháiltear faoi cheadúnas Apache 2.0, cosúil leis an gceann roimhe seo, ar an inneall imirce T-SQL. De réir dealraimh, thug na forbróirí tosaíocht do réiteach fadhbanna teicniúla maidir le tacaíocht DBMS, seachas próiseas forbartha compordach a chruthú.

Son:

  • Tacaíonn sé leis an DBMS riachtanach (Oracle san áireamh)

CONS:

  • Ní thacaítear le Oracle (chomh maith le Rochtain, rud nach mbaineann le hábhar dúinn) ar .NET Core, ach amháin ar .NET Full Framework
  • Ní oibríonn sé le ORM
  • Tá níos lú doiciméadaithe ann ná an uirlis roimhe seo
  • Arís – scríobhann scripteanna ascnaimh

ThinkingHome.Imreachtóir

Comparáid agus roghnú na gcóras aistrithe sonraí

Uirlis chun scéimre bunachar sonraí a aistriú chuig an ardán .NET Core, a dháiltear faoi cheadúnas MIT. Scríobh an forbróir féin faoina leagan is déanaí beagnach bliain ó shin.

Son:

  • Deartha do .NET Core
  • Cuireadh seicheamh brainseach imirce i bhfeidhm
  • Cuireadh logáil imirce i bhfeidhm

CONS:

  • Nuashonrú is déanaí bliain ó shin. Is cosúil nach dtacaítear leis an tionscadal
  • Gan tacaíocht ó Oracle (deir an t-alt go bhfuil sé seo mar gheall ar an easpa forfheidhmithe cobhsaí do .NET Core - ach tá sé seo bliain ó shin)
  • Gan giniúint uathoibríoch imirce

Ar an iomlán, tá cuma an-dearfach ar an tionscadal, go háirithe dá ndéanfaí forbairt air, ach bhí orainn cinneadh a dhéanamh anseo agus anois.

Imirceoir Líofa

Comparáid agus roghnú na gcóras aistrithe sonraí
github.com/fluentmigrator/fluentmigrator

An uirlis imirce is coitianta le arm mór de lucht leanúna. Dáilte faoi cheadúnas Apache 2.0. Mar a dúradh sa tuairisc, is creat imirce é do .NET, cosúil le Ruby on Rails Migrations. Déantar cur síos ar athruithe ar scéimre an bhunachair shonraí i ranganna C#.

Tá buntáistí anseo:

  • Tacaíocht don DBMS riachtanach
  • Tacaíocht NET Core
  • Pobal mór forbartha
  • Réitítear coinbhleachtaí idir aistrithe go seicheamhach — sonraítear ord chur i gcrích na n-imscrúduithe. Ina theannta sin, má tharlaíonn coinbhleacht timpeall aonán amháin, nuair a dhéantar an cód a chumasc, réitítear é ar an mbealach céanna agus a dhéantar sa chuid eile den chód.
  • Tá próifílí ann a fhorghníomhaítear tar éis imirce rathúil. Agus is féidir leo feidhmeanna seirbhíse a iompar.Bhí an nuashonrú deireanach mí ó shin, is é sin, tá an tionscadal beo

Maidir leis na míbhuntáistí, seo iad:

  • Gan giniúint uathoibríoch imirce
  • Gan aon bhaint le samhlacha EF
  • Gan aon ghrianghrafanna bunachar sonraí

Cén rogha a bhí againn?

Comparáid agus roghnú na gcóras aistrithe sonraí

Bhain dhá pharaiméadar leis na díospóireachtaí téite - giniúint uathoibríoch imirce agus réiteach stuama coinbhleachtaí. Bhí fachtóirí eile i bhfad níos lú scanrúil. Mar thoradh air sin, bunaithe ar thorthaí an phlé, chinn an fhoireann úsáid a bhaint as Fluent Migrator sa tionscadal nua. Toisc coinbhleachtaí a réiteach sa todhchaí beidh buntáistí i bhfad níos mó.

Torthaí

Ar ndóigh, níl aon uirlisí foirfe ann. Mar sin bhí orainn tosaíocht a thabhairt dár “mian” chun rogha a dhéanamh. Mar sin féin, d'fhéadfadh fachtóirí eile a bheith cinntitheach i gcás foirne agus tascanna eile. Tá súil againn go gcuideoidh an t-alt seo leat rogha a dhéanamh.

Foinse: will.com

Add a comment