Moje želanie pre DBMS budúcnosti, ako aj pre Rosreestr, pokiaľ ide o transakciu

Moje želanie pre DBMS budúcnosti, ako aj pre Rosreestr, pokiaľ ide o transakciu
Klient komunikuje s databázou.
Zo stránky http://corchaosis.ru, od Jonathana Tionga.

Okrem toho, že som programátor (väčšinou Delphi + všelijaké rôzne DBMS, nedávno ORACLE, + trochu PHP), mám hobby - kupovanie a predaj bytov. Kúpim byt v štádiu výstavby od viac-menej spoľahlivého developera za chutnú cenu (napr. teraz je takým developerom Samolet, byty pri metre Nekrasovka sú na predaj), čakám na odovzdanie domu. (často o dva roky neskôr sa to stáva pri lacných ponukách), urobím to pri oprave a potom to predám za 95-100% trhovej ceny.

Takže som (ako všetci ostatní) narazil na problém nedostatočnej transakcie RosReestr.

Problém Rosreestrovej nedostatočnej transakčnej povahy transakcií

V programovaní "Transakcia" a v realitách je to "Deal with alternative" (a v rámci toho aj "Dohoda o vkladovej schránke") a tam sú veci trochu komplikovanejšie. hovorím.

Vasya si prišiel pozrieť byt, ktorý Peťa predáva. A Vasyovi sa všetko veľmi páčilo, vrátane ceny, ale Vasya nemá peniaze. Takto sa začína náš príbeh.

Vasya má svoj vlastný majetok, ktorý má niektoré hodnoty, ktoré pre neho nie sú obzvlášť potrebné - Lomonosov žil v susednom dome, výška stropu je sedem a pol metra, v blízkosti je ovocná základňa a trh Sadovod , k Aeroexpresu sa dostanete pešo, pod bytom je pivnica 1 meter, nad bytom je podkrovie vhodné na astronomické pozorovania. Vasya chápe, že tieto vlastnosti zvyšujú cenu jeho bytu, ale nie pre neho samotného. A rozhodne sa kúpiť Peťov byt a predať svoj byt. Ale predať ho s cieľom kúpiť Peťov byt, a nielen. V jazyku realitných maklérov sa tomu hovorí - "Alternatíva je vybraná."

Teraz sa pozrime na túto situáciu z Peťinej strany. Faktom je, že Peťa tiež nemá záujem sedieť na odpisovaných peniazoch, predáva byt, aby si kúpil byt v elfskom meste Valinor, ale zatiaľ sa nepozrel na ktorý. V jazyku realitných maklérov sa tomu hovorí – „Vysporiadať sa s alternatívou“.

Dvaja elfovia Stredozeme, Maglor a Maedhros, majú vhodné (Petitove kritériá) nehnuteľnosti v meste Valinor, ktoré sú naliehavo predané, pretože sú poslaní slúžiť Melkorovi. V jazyku realitných maklérov sa tomu hovorí – „Voľný predaj“.

Takže Vasya nájde klienta Serezhu. Teraz pre neho Peťa nájde dve vhodné možnosti v meste Valinor. Ideme sa dohodnúť. Pre zjednodušenie predpokladajme, že žiaden z účastníkov transakcie nevyužíva hypotéku a nemá ani menšieho akcionára. Preto by sa teraz mali vykonať tieto akcie:
1. Seryozha dáva peniaze Petyovi.
2. Vasya dáva svoj byt Seryozhovi.
3. Peťa dáva svoj byt Vasyovi.
4. Buď Maglor alebo Maedhros odovzdajú svoj byt vo Valinore Petyovi a dostanú Seryozhove peniaze.
5. Malkor a Maedhros idú do Mordoru slúžiť Melkorovi.

Ideálne by bolo preniesť nasledujúci skript do Rosreestr na vykonanie:

ZAČAŤ TRANSAKCIU
Dajte Vasyov byt Seryozhovi.
Dajte Petitov byt Vasyovi.
začať
Dajte Malkorov byt Peťovi
Dajte Seryozhove peniaze Malkorovi
IF_ERROR:
Dajte Maedhrosov byt Petyovi
Dajte Seryozhove peniaze Maedhrosovi
koniec
ZÁVÄZNÁ TRANSAKCIA

Ide o zjednodušený transakčný skript s alternatívou za predpokladu, že všetky byty majú jedného dospelého (a schopného) vlastníka, že ich ceny sú rovnaké a že realitným kanceláriám (ak existujú) sa platí bez ohľadu na fázy transakcie.

Rosreestr však nepodporuje transakciu. Všetky akcie sa budú vykonávať postupne a nezávisle, jedna po druhej, bez vrátenia transakcie ako celku, ak jedna z nich nebola dokončená. Maximálne, čo možno dosiahnuť - vzhľadom na to, že Rosreestr a MFC nepracujú s prevodom hotovosti - je vložiť peniaze do bankovej bunky s podmienkami prístupu k nim Vasya, Petya, Serezha (ak nie je zaregistrovaná žiadna transakcia vôbec) a ďalšími aktérmi po predložení dohôd zaregistrovaných spoločnosťou Rosreestr. (A mimochodom, banky nezávisle neoverujú pravosť zmlúv, to znamená, že dôverujú pravosti dokumentov účastníkov transakcie).

Okrem rizík spojených s nedokončením transakcie v plnom rozsahu je ďalším problémom to, že ak sa iní účastníci môžu presťahovať do svojho nového bývania bez čakania na úplnú registráciu (ahoj, otázka nedoplatku účtov za energie!), Maglor a Maedhros nebudú čoskoro pôjdete slúžiť Melkorovi a možno Maglor nebude môcť držať silmarily v rukách, jednoducho nebude mať čas. Realitné transakcie sa vykonávajú postupne a spracovanie každej transakcie bude trvať minimálne 9 pracovných dní.

Okrem toho Rosreestr nepodporuje zaťaženie bytov vo výstavbe podľa DDU, ale mohol by, ide o elementárnu akciu vo vzťahu k jednoduchej budúcnosti.

Teraz prejdime k nedostatkom a môjmu Wishlistu o DBMS

1) Prvým je nedostatok systému na správu verzií. Ak zo strany Delphi vyvíjam v mojom karanténe a zmeny, ktoré som urobil, sa ostatným programátorom nezobrazia, kým sa nepotvrdia, potom to tak nie je s DBMS. A aj keď mi je zverený plný (aspoň v rámci zverenej úlohy) prístup do bojovej databázy, a to sa stane, nemôžem na nej vyvíjať. Kým budem ladiť, všetko sa zrúti. Čo je táto doba kamenná? Vytvorte pieskovisko pre vývojárov.

2) Druhým je nedostatok predinštalovaných štandardizovaných tabuliek popisujúcich skutočný svet. Každá spoločnosť, pre ktorú som pracoval, má svoj vlastný formát tabuľky popisujúci názvy (v ruštine a (aspoň) angličtine, v rôznych prípadoch ruštiny) dvanástich mesiacov!

3) Po tretie – a tu budem používať terminológiu Oracle – neexistuje spôsob, ako nazvať jednoduchý skript Insert alebo Update, ktorý používa Returning, ako nazývame Select. Možno to nie sú problémy Oracle, ale problémy rozhrania Delphi + Oracle.

4) Po štvrté, potreba prideliť právomoci postupom a funkciám, ktoré vytváram, tam, kde to nechcem. Nechcem nastavovať a potom meniť povolenia používateľa pre procedúry a funkcie. Prečo, ak som výslovne nenapísal Granty, by si systém sám nemohol pozrieť zapojené objekty a v súlade s právami konať s nimi udeliť alebo neudeliť určitým používateľom právo volať funkciu? Som pripravený na to napísať jedno kľúčové slovo pri písaní funkcií a procedúr. Alebo ešte lepšie nechať spustiť spúšťanie používateľa a ak ho vetva algoritmu privedie k požiadavke, na ktorú používateľ nemá práva, vyhodí ju s chybou.

Zdroj: hab.com

Pridať komentár