LINUXSOFT.cz Přeskoč levou lištu
Uživatel: Heslo:  
   CZUKPL

> Nadcházející Softwarové novinky

Preview betaverzí dvou úspěšných Open Source programů - FreeBSD a PostgreSQL, které tvoří dohromady výbornou platformu k provozování databází.

19.11.2007 06:00 | Radim Kolář | Články autora | přečteno 8036×

FreeBSD 7.0

Pravděpodobně nejočekávanějším OSS produktem na poli operačních systémů je v současné době nová major verze operačního systému FreeBSD - 7.0. Novinek je v sedmičce opravdu mnoho, ale nejvýznamnější změny proběhly na poli diskového subsystému, škálovatelnosti a již tradičně v oblasti síťování.

GEOM, objektově orientovaný framework pro přístup k blokovým zařízením, byl rozšířen o několik nových tříd. Nejvíce zájmu vzbudily třídy:

  1. gvirstor - virtualizace diskového prostoru, vytvořte si velký virtuální disk a fyzické disky přidávejte postupně, jak se bude virtuální disk zaplňovat
  2. gjournal - třída pro žurnálování. S jejím využitím lze přidat žurnálování do filesystému UFS2 a pak kvůli zvýšení výkonu přepnout UFS filesystém z režimu soft updates do režimu async. Gjournal se umí vypořádat i s levnými disky neflushujícími správně write cache, pokud je velikost gjournalu větší než cache disku/řadiče.
  3. gmultipath - přístup k datům prostřednictvím několika různých přístupových cest. Používá se pro failover, pokud preferovaná cesta selže, použijeme záložní.

Krom nových GEOM tříd přibyl také iSCSI initiator a serverová část iSCSI se nachází v portech.

Bezesporu největší novinkou na poli storage je integrace filesystému ZFS z projektu Open Solaris.

ZFS

O ZFS bylo a ještě bude napsáno mnoho. ZFS (wikipedia) je revoluce ve světě filesystémů a protože se jedná o 128-mi bitový filesystém, tak se mu často říká The last word in filesystems, čímž se mírně naznačuje, že s příchodem ZFS ztrácí jakýkoliv další vývoj dalších filesystémů smysl. ZFS ale opravdu revoluční je. Poprvé v historii byl integrován RAID, filesystém a volume manager do jednoho celku.

Výhody ZFS oproti stávajícím řešením bych shrnul to několika hlavních bodů:

  1. Technologie RAIDZ/mirror poskytuje ochranu shodnou s RAID 1,5,6
  2. Data jsou navíc stripována mezi všechny dostupné disky. Efektivně to přidává do seznamu výše úrovně RAID 0 a 1+0.
  3. Metadata lze zapisovat až na 3 různá místa současně. Tato ochrana je navíc k ochraně dat poskytované RAID polem.
  4. ZFS netrpí problémem známým jako RAID write hole. Zápis jednotlivých stripe je transakčně jištěn.
  5. Vždy zapisuje celý stripe o proměnné velikosti 512-128KB. Není potřeba postupovat metodou přečíst blok, přepočítat paritu, zapsat.
  6. Filesystém je udržován na disku konzistentní, fsck není potřeba a není potřeba rebuildovat RAID pole pokud dojde k výpadku.
  7. Při uživatelem vynucené kontrole dat se kontroluje jen obsazený prostor.
  8. Každý blok má svůj 256bitový kontrolní součet. Možnost volby z několika algoritmů.
  9. Self healing. Pokud ZFS zjistí chybu integrity dat, opraví nejen data před jejich vrácením aplikaci, ale i realokuje a opraví všechny kopie dat poškozených dat.
  10. Při zápisu se používá metoda Copy On Write. Toto umožňuje konverzi náhodných zápisů na sekvenční, které se pak zapisují prakticky maximálmí možnou diskovou rychlostí.
  11. Volné místo je možné sdílet mezi filesystémy. Filesystémy mohou mít dynamickou velikost a je možné rezervovat volný prostor pro určitý filesystém.

O technologii ZFS by se dalo psát ještě dlouho. Vážným zájemcům doporučuji navštívit ZFS learning center, případně se mrknout na nějaká ta videa 1, 2, 3, 4.

Síťování

Poměrně zásadní změnou je využití technologií TSO (TCP/IP segmentation offload) a LRO (Large Receive Offload) se kterými se lze setkat u 1 Gbit a 10Gbit síťových karet. TSO podporují drivery pro Intel, Broadcom, NVidia, Realtek. LRO podporuje driver pro Myricom Myri10GE.

Druhou významnou změnou je automatické nastavování velikosti TCP send a receive bufferů, dříve se používal default buffer o velikosti 32K, který nyní může automaticky narůstat až do 256 KB. Tato změna teoreticky zvětšuje přenosovou rychlost na sítích s větším RTT (200 ms) až desetinásobně. Jedná se opravdu o významou změnu, moje testování na trase USA - Německo zjistilo nárůst přenosové rychlosti z 1 MB/s na 6 MB/s.

Škálovatelnost

Další významnou změnou je podstatné zlepšení škálovatelnosti na 4 a více procesorových jádrech. FreeBSD řady 6 se dalo použít na nejlépe na dvou, maximálně na čtyřech procesorových jádrech. Použití 6 a více přineslo při typické zátěži zpomalení. U FreeBSD 7 je tento nedostatek již odstraněn a v níže uvedené prezentaci uvidíte lineární škálovatelost FreeBSD na 8 jádrech a další testy škálovatelnosti databází PostgreSQL a MySQL a operačních systémů FreeBSD-7 a Linux 2.6. FreeBSD 7 se schedulerem ULE (bude default v 7.1) v tomto sysbench testu bezproblémů porazilo ostatní soupeře. Absolutně nejlepšího score bylo dosaženo na 8-core AMD Opteron systému s databází PostgreSQL 8.2, což je platforma s výborným poměrem výkon/cena kterou doporučuji pro provozování lower end databázových serverů i já.

Závěr

Pokud jste dočetli až jsem, rozhodně nevynechejte Krisovu prezentaci FreeBSD 7.0, stáhněte si betaverzi a začněte testovat.

PostgreSQL 8.3

Jako druhý program jsem vybral PostgreSQL, jehož nadcházející verze se nachází podobně jako FreeBSD ve stádiu beta testování. Podobně jako FreeBSD 7.0 je i PostgreSQL 8.3 bomba.

Názory na největší hit verze 8.3 se poněkud rozcházejí, změn je tentokrát opravdu dost. Někoho nejvíce zaujme podpora XML, jiný ocení nové datatypy uuid a enum, lidi portující aplikace z Oracle dostanou dlouho očekávané writeable cursory a podporu pro ORDER BY ... NULLS FIRST/LAST, na programu dne je i vylepšené autovacuum, které je nyní poprvné aktivováno ve standardní instalaci a umí čistit více tabulek současně, potěší všechny uživatele velkých tabulek.

OLTP je rychlejší

Poměrně významné změny nastaly v oblasti OLTP. Nejvýznamější je bezesporu podpora asynchroního commitu, po kterém se neprovádí na WAL logu fsync, což vede k významnému nárůstu výkonu, protože se nemusí čekat na disk. Při havárii nedochází k poškození dat, ale k možné ztrátě několika posledních potvrzených transakcí. Další významnou změnou je paralelizace operací během provádění CHECKPOINTu, aby se tím snížila doba kdy musí uživatelé čekat na jeho dokončení. Rychlejším CHECKPOINTům také napomáhá inteligentnější bgwriter, který mění rychlost zápisu s ohledem na aktuální zátěž. Ve starších verzích ve většině případů totiž zapisoval data příliš pomalu. Když už jsme u těch background procesů, nově přibyl process vyhrazený k zápisu WAL logů (ala Oracle).

Pokud se při aktualizaci záznamu nemění hodnota nad kterou je vytvořen index, PostgreSQL se pokusí umístit novou verzi řádky do stejného bloku, aby nebylo potřeba aktualizovat indexy. Pro optimální funkčnost je potřeba v blocích rezervovat pro tento účel trochu (minimálně 15 procent) místa pomocí direktivy FILLFACTOR. Díky všem těmto změnám je OLTP workload rychlejší až o 20 procent. Zájemcům o ladění výkonu bych také doporučil shlédnutí této prezentace.

Konečně fulltext

Docela příjemnou změnou je přesunutí fulltextového vyhledávání z contrib modulu tsearch2 do databázového serveru. Výhody oproti tsearch2 contrib modulu jsou jednoznačné: lepší dokumentace, snadnější konfigurace, odstranění několika dlouhodobých design nedostatků a v neposlední řadě taky pár významných bugfixů. Fulltextové vyhledávání je poměrně na úrovni, umí podporovat různé jazyky a znakové sady, kontrolovat překlepy podle slovníku, stop slova, synonyma, hodnotit kvalitu výsledků a stemming, Fulltextové vyhledávání potěší snad všechny autory web aplikací neboť je přibližně stonásobně rychlejší než operátor ILIKE, který bývá často používán pro tento účel.

PostgreSQL vs MySQL

PostgreSQL bývá velmi často rychlostně srovnáván s MySQL. V minulosti bylo totiž MySQL zejména díky chybějící funkcionalitě výrazně rychlejší. To ale už dnes neplatí, testy PostgreSQL 8.2 oproti MySQL 5.1 používané při ladění škálovatelnosti FreeBSD ukázaly, že PostgreSQL je v průměru o 20 procent rychlejší a nemá problémy se škálovatelností při více uživatelích. Podrobnější testování ukázalo, že u MySQL nastává pokles výkonu pokud počet uživatelů převýší počet procesorových jader.

PostgreSQL si získává v posledních letech stále větší oblibu v podnikovém prostředí a značnou část jeho uživatelů tvoří přeběhlíci z Oraclu. Trochu se o to zasloužila i firma Sun, která nejen integrovala PostgreSQL do svého operačního systému Solaris 10, ale prodává i podporu. Současná cena roční cena základní podpory od Sunu je $1,596, pro srovnání podpora od EnterpriseDB stojí $995/socket.

Seznam všech změn je k dispozici na http://www.postgresql.org/docs/8.3/static/release-8-3.html.

Budoucnost je slibná

Testování dvou výše recenzovaných produktů ukázalo, že kombinace FreeBSD 7.0, PostgreSQL 8.3, ZFS a AMD Opteron je vynikající platforma k provozování databáze a výrazně překonává současný mainstream Linux 2.6 , MySQL 5.0, ext3 a Intel Xenon.

K dokonalosti nám chybí pouze podpora superpages (paměťové stránky větší než 4KB na x86 platfomě), jejiž použití v aplikacích s velkou spotřebou paměti, typicky databáze, přináší nárůst výkonu v desítkách procent. Ty se do FreeBSD-7.0 nedostaly a nachází se ještě ve stádiu vývoje.

Verze pro tisk

pridej.cz

 

DISKUZE

Nejsou žádné diskuzní příspěvky u dané položky.



Příspívat do diskuze mohou pouze registrovaní uživatelé.
> Vyhledávání software
> Vyhledávání článků

4.9.2016 20:13 /Pavel `Goldenfish' Kysilka
PR: Dne 22.9.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, provozování ERP v cloudu, o hostování různých typů softwaru, ale třeba i o zálohování dat nabízeném podnikům formou služby.
Přidat komentář

1.9.2016 11:27 /Honza Javorek
Česká konference o Pythonu, PyCon CZ, stále hledá přednášející skrz dobrovolné přihlášky. Máte-li zajímavé téma, neváhejte a zkuste jej přihlásit, uzávěrka je již 12. září. Konference letos přijímá i přednášky v češtině a nabízí pomoc s přípravou začínajícím speakerům. Řečníci mají navíc vstup zadarmo! Více na webu.
Přidat komentář

27.8.2016 8:55 /Delujek
Dnes po 4 letech komunitního vývoje vyšla diaspora 0.6.0.0
diaspora* je open-source, distribuovaná sociální síť s důrazem na soukromý
Více v oficiálním blog-postu
Přidat komentář

24.8.2016 6:44 /Ondřej Čečák
Poslední týden CFP LinuxDays 2016; pokud byste rádi přednášeli na LinuxDays 2016 8. a 9. října v Praze, můžete svůj příspěvek přihlásit, následovat bude veřejné hlasování.
Přidat komentář

9.8.2016 22:56 /Petr Ježek
Zařazení souborového systému reiser4 do jádra 4.7 znamená konečně konec patchování jádra jen kvůli možnosti použít reiser4.
Přidat komentář

12.7.2016 13:14 /František Kučera
Spolek OpenAlt zve na 130. distribuovaný sraz příznivců svobodného softwaru a otevřených technologií (hardware, 3D tisk, SDR, DIY, makers…), který se bude konat ve čtvrtek 21. července od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5).
Přidat komentář

11.7.2016 16:53 /Redakce Linuxsoft.cz
Konference LinuxDays hledá přednášející. Přihlášky poběží do konce prázdnin, v září bude hlasování a program. Více na https://www.linuxdays.cz/2016/cfp/.
Přidat komentář

8.5.2016 17:19 /Redakce Linuxsoft.cz
PR: Dne 26.5.2016 proběhne v Praze konference Cloud computing v praxi. Tématy bude např. nejnovější trendy v oblasti cloudu a cloudových řešení, cloudové služby, infrastruktura cloudu, efektivní využití cloudu, možné nástrahy cloudů a jak se jim vyhnout
Přidat komentář

   Více ...   Přidat zprávičku

> Poslední diskuze

9.11.2016 7:42 / Mane
hardwood floor waxing

8.11.2016 13:38 / Mira
Konfigurace maldet na Centos serveru

2.11.2016 11:06 / Warlock
Odkaz v PHP

20.10.2016 0:13 / Jan Kuba
Re: Basic

19.9.2016 21:04 / Marek Schoř
Poděkování

Více ...

ISSN 1801-3805 | Provozovatel: Pavel Kysilka, IČ: 72868490 (2003-2016) | mail at linuxsoft dot cz | Design: www.megadesign.cz | Textová verze