Komentáře k článku
Praktické použitie MongoDB v .NET
NoSQL databázy naberajú v súčasnosti na populárnosti, dlhšie som sa chystal nejakú z nich vyskúšať. Pri práci na aktuálnom projekte som mal na to konečne možnosť, zvolil som riešenie Microsoft .NET.
Rychlost
Nedělal jste nějaké měření, o kolik rychlejší to je? A jestli to je rychlejší než data přelít ze vzdáleného SQL Serveru do lokálního SQL Serveru a hledat to na něm (tam by se dala i velká část kódu znovupoužít, jestliže jste jej už pro SQL Server měl napsaný).
Re: Rychlost
Presné merania som nevykonal, subjektívne to bolo tak 5x rýchlejšie, záleží však, čo sa práve dialo v MS SQL (virtuálny vzdialený stroj s viacerými databázami a rôznymi procesmi).
O lokálnom SQL servery som neuvažoval, na danom stroji MS SQL nebolo a ani nebolo možné ho doinštalovať. Mal som hotový kód pre prácu so záznamami v pamäti a uvedený prechod na MongoDB bol celkom jednoduchý.
Re: Rychlost
A zvážil jste použití „embeded“ verzí databází, např. SQLite, embeded firebird etc? Přepisovat byste nemusel v podstatě nic, pouze na začátku přetáhnout záznamy a vytvořit spojení do lokální databáze.
Nicméně, jestli nepotřebujete žádné vyspělé fíčury SQL, mohlo to být vcelku dobré řešení, i když imho by úprava na embeded sql server byla rychlejší.
Re: Rychlost
Pokiaľ viem tak žiadna z embeded databázy nepodporuje úplne LINQ, takže toho kódu by bolo potrebné vytvoriť celkom dosť. Okrem toho som nepotreboval žiadne SQL vlastnosti,len ploché uložene státisícov záznamov.
Re: Rychlost
Osobně bych ve vašem případě sáhl po MS SQL Server Compact. Podle všeho by mohl splňovat Vaše požadavky, které jste zmínil – neinstaluje se a podporuje LING (verze 4). Přenostitelnost kódu z „dospělého“ MS SQL Serveru by byla jednoznačná.
Vaše volba by se však také dala považovat za vytvoření si příležitosti pro seznámení s kategorií noSQL databází :-)
MongoDB - XML
U nas jsme mongoDB nasadili abychom mohli vyhledávat v XML dokumentech (faktury) a dobře se to osvědčilo. Nejen že to funguje jako backup, ale lze v tom i vyhledavat.
XML nacteme jako simple_xml, prevedeme na pole a ulozime. Zadna prace navic neni zapotrebi.
Re: MongoDB - XML
XML… a nebo JSON?
Re: Praktické použitie MongoDB v .NET
> Platforma Microsoft .NET však na 32-bitovom operačnom systéme obsahuje obmedzenie maximálnej alokovanej pamäte na cca 2 GB
Největší prča je, že MongoDB na 32bitové platformě nezvládne víc než cca 2.5 GB dat, protože datové soubory mapuje do paměti :-) 32-bit limitations
Konzistence dat
No já bych chtěl hlavně vidět tu konzistenci dat v ostrém provozu při takovém návrhu „řešení“. Už to úvodní přemýšlení o „…jasnou voľbou bolo čiastkové natiahnutie potrebných záznamov do pamäte…“ při statisících záznamů o mnohém svědčí ;-)
I při té NoSQL dB jako vypnete provoz pro uživatele a update v target dB se bude dělat v „single“ režimu? Co když zpracování uprostřed spadne (z různých důvodů), tak všechno se bude dělat znovu? Co pak příp. duplicity, rozpracované záznamy?
Mono
Mongo jsem si oblibil, bohuzel pri prechodu na linugz a Mono jedina komponenta, ktera nefungovala bylo prave Mongo
Re: Mono
Tos‘ mě vyděsil. Mongo používám přes MONO na linuxu jako mezisklad dat pro vyhledávač a doteď jsem žil v přesvědčení, že mi to funguje.