FAQ - Konverze *.FF2 tabulek (FlashFiler) na *.NX1 (NexusDB)
- na výkonném počítači s dostatkem pamětí se konvertuje (FF2NX.exe) rychlostí:
1 GB za 4 minuty
- velikost tabulek *.NX1 je 1,2 x větší než tabulek *.FF2
- výsledek komprimace tabulek: archiv má cca. 7,5x menší velikost
2006.12.27b / 18:00
002) FF2NX.exe
- aktuální verze programu pro konverzi *.FF2 tabulek na *.NX1
- automaticky pracuje transakčně po 1000 větách
- automaticky indexy vytváří pro české jazykové prostředí
FAQ - Je nutné v ES manas přejít z FlashFiler213 na NexusDB2?
- ne nutné to není, ES manas jako jediný známý tuzemský ekonomický systém
umožňuje práci pod 2 různými databázovými stroji
- přechod platí pro stávající uživatele ES manas, noví uživatelé od 24.11.2006
automaticky obdrží verzi ES manas určenou pro NexusDB2
- protože jsou zdrojové soubory ES manas pro oba databázové stroje
společné a stačí jen zvolit kompilaci pro zvolený databázový stroj,
budou nové verze ES manas dostupné vždy i pod FlashFiler213
některé nové funkce a moduly ES manas, které budou snadněji a efektivněji
realizovatelné pro NexusDB2, budou v budoucnu dostupné jen ve verzi ES manas
určené pro NexusDB2
- pro které uživatele ES manas je vhodnější zůstat u FlashFiler?
pro ty, kteří v rámci pokladního systému používají ještě počítač
s MS Windows 95 - ten v NexusDB2 již není podporován
na MS Windows 95 pracuje bez problémů verze ES manas manasPOS.exe,
a to od konfigurace počítače s CPU kompatibilní Pentium 233 MMX a 64 MB RAM
současná verze ES manas pod NexusDB2 zatím nepracuje pod MS Windows 98,
podpora je ale přislíbena přímo od vývojového týmu NexusDB v krátké době
platí ale, že MS Windows 95 i MS Windows 98 jsou dnes již zastaralé
operační systémy a sám Microsoft je již nepodporuje
- kteří stávající uživatelé ES manas mohou na NexusDB2 přejít?
ti, kteří využijí naší aktuální nabídky ES manas obsažené
v Licenční smlouvě ES manas:
FAQ - Proč v ES manas přejít z FlashFiler213 na NexusDB2
- NexusDB je moderní rychlejší a stabilnější databázový stroj s plynulým
vývojem a podporou, vývoj a podpora FlashFiler213 byly ukončeny před 4 lety
- zatímco FlashFiler byl ve verzi 1 původně jen tabulkový Klient/Server
databázový stroj a použitelná podpora SQL byla doplněna až ve verzi 2
a to prakticky jen na úrovni neúplného SQL příkazu SELECT (jsou k dispozici
i jednoduché SQL příkazy INSERT/UPDATE/DELETE, ty ale obsahují řadu
chyb), je NexusDB2 od počátku koncipován jako moderní rychlý databázový
stroj s podporou většiny funkcí nové SQL normy SQL:2003 core,
to vše v modulární koncepci se zdrojovými soubory a neomezenou možností
rozšíření funkčnosti
- NexusDB používá vlastní výkonný správce paměti MemoryManager3, který
dokáže podstatně lépe hospodařit s pamětí než FlashFiler a na rozdíl
od něj dokáže naplno využít víceprocesorový (nebo CPU s více jádry)
systém
- SQL dotazy jsou na NexusDB rychlejší než na FlashFiler, přitom s menší
spotřebou paměti
- přechod z FlashFiler na NexusDB je rychlý a snadný - stačí převést
tabulky *.FF2 na *.NX1, případně nainstalovat a nastavit NexusDB2 server
a místo manas.exe / manasPOS.exe spouštět manasNX.exe / manasPOSnx.exe,
nic jiného není nutné měnit ani nastavovat
- k datům NexusDB lze mimo ES manas jednoduše přistupovat pomocí
ADO.NET Provider (včetně Compact Framework) v .NET a ODBC ovladače,
data tak lze snadno napojit např. na MS Office nebo webové aplikace
- NexusDB2 umožňuje Live Backup zálohování - tabulky lze zálohovat
při plném provozu serveru na server v jiném umístění a zajistit tak
100% bezpečnost dat
- další vlastnosti NexusDB2 naleznete ve FAQ - Co je NexusDB2
FAQ: Srovnání rychlosti SQL pod FlashFiler 2.13 a NexusDB 2.0301
- pro srovnání byla použita velká tabulka řádků účetních dokladů s
1.775.000 řádky převedená z FF do NX
- oba servery bala shodně nastaveny na využití 10 MB RAM a 10 MB pracovního
souboru
- pro FF byl použit následující SQL dotaz vracející 1.719 vět:
SELECT
Ucet,
ZmenaKdo,
CastkaMD,
CastkaDAL,
VS,
DatumUskZdPl,
CisloPartnera,
Poznamka,
Stredisko,
DPH,
Cislo,
CisloDokladu,
ZakazkaEGP
FROM
HR2_UR11
WHERE
(DatumUskZdPl >= date '2002-12-21') and (DatumUskZdPl < date '2002-12-31')
and (ucet=139900)
- pro NX byla použita následující úprava dle syntaxe SQL v NexusDB:
WHERE
(cast(DatumUskZdPl as date) >= cast( '2002-12-21' as date))
and (cast(DatumUskZdPl as date) < cast( '2002-12-31' as date))
and (ucet=139900)
- pro pole DatumUskZdPl i Ucet existuje Index
- výsledek:
FF 60,938 s
NX 22,016 s ===> 2,76x rychlejší
- výsledek při opakování stejného dotazu:
FF 1,812 s
NX 1,343 s
- FF server si obsadil 15,4 MB paměti, NX server 16,5 MB
- pro ověření obsazení paměti byl dále SQL upraven takto:
WHERE
(DatumUskZdPl >= date '2002-11-01') and (DatumUskZdPl < date '2002-12-31' )
zatímco NX server obsadil 18,1 MB paměti, FF server si vzal celých 80 MB !
- ověřili jsme i stejné SQL při maximalistickém nastavení serveru na
512 MB RAM a 2 GB pracovního souboru
rychlost se změnila jen nepatrně, zato obsazení paměti se šplhalo až
k maximálně nastavené hodnotě
===> pro servery stačí nastavit 10 MB RAM + 10 MB pracovní soubor
- konečně byl testován následující SQL dotaz:
SELECT
Ucet,
ZmenaKdo,
CastkaMD,
CastkaDAL,
VS,
DatumUskZdPl,
CisloPartnera,
Poznamka,
Stredisko,
DPH,
Cislo,
CisloDokladu,
ZakazkaEGP
FROM
HR2_UR11
WHERE
(DatumUskZdPl >= date '2002-01-01') and (DatumUskZdPl < date '2002-12-31')
který vracel téměř všechny věty (bez 31.12.2002)
výsledek:
FF 1047,063 s
NX 80,594 s ===> 12,99x rychlejší !!!
zatímco NX server obsadil 27,5 MB paměti, FF server celých 499 MB !!!
t.j. 18,5 x více !!!
===> NexusDB je podstatně rychlejší než FlashFiler, používá podstatně lepší
optimlizaci SQL dotazů a obsadí podstatně méně paměti
- další testy:
SELECT
Cislo,Radek,Poznamka
FROM "HR2_UR11"
WHERE Poznamka LIKE 'poplatek%'
NX: FF:
35 vet
0,453 s 0,672s
17,2 MB 15,5 MB
===> NX je 1,48x rychlejsi
SELECT
Cislo,Radek,Poznamka
FROM "HR2_UR11"
WHERE Poznamka LIKE '%uctovani%'
NX: FF:
568 vet
91,109 s 259,765s
16,5 MB 15,5 MB
===> NX je 2,85x rychlejsi
SELECT
ucet,SUM(castkamd)
FROM "HR2_UR11"
GROUP BY ucet
ORDER BY ucet
NX: FF:
780 vet
228,203 s 377,140s
22,2 MB 58,5 MB
===> NX je 1,65x rychlejsi, FF obsadi 2,64x vic pameti
Přechod z FlashFiler na NexusDB u síťové verze programu
Požadavky na počítač:
Server:
- doporučujeme 2 nebo 4 jádrový procesor, protože NexusDB je umí využít
- doporučujeme 2 GB RAM paměti, NxServer umí využít 1,5 GB, více paměti
výrazně zrychlí rychlost zpracování, více paměti má význam jen pro speciální
placenou verzi AWE NxServeru, která dokáže využít až 64 GB RAM paměti
(podle operačního systému)
- výkonný počítač určený pro nxServer je nyní možné sestavit (pouze HW)
za cenu 7.500 Kč za 2-jádrový a 10.500 Kč za 4-jádrový CPU (ceny bez DPH,
viz Novinky)
- operační systém musí být typu MS Windows 2000/2003/XP/Vista
- doporučujeme použít kvalitní záložní zdroj
Klient:
- operační systém musí být typu MS Windows 2000/2003/XP/Vista
Postup:
1) stáhněte si odsud Download instalační program NexusDB serveru [98 MB]
NexusDB2.exe
Aktuální verzi programů nxServer, nxEnterpriseManager a nxRecover můžete stáhnout
také přímo z webu výrobce NexusDB
Aktuální verzi konverzního programu FF2NX můžete stáhnout zde manas.info
Po jeho spuštění na serverovém počítači
zadejte jako Cílový adresář:
C:\nexusDB-exe
a stiskněte Start
po ukončení stiskněte OK
a OK.
V Start menu se vytvoří skupina manas / NexusDB2
s programy:
nxServer.exe ... NexusDB2 server, cca. 5,5 MB
a
nxEnterpriseManager.exe ... program pro správu dat NexusDB2 serveru, cca. 13,9 MB
Oba programy spolu s dalšími soubory z instalace instNexusDB2.exe jsou umístěny ve zvoleném adresáři C:\nexusDB-exe
(lze zvolit i jiný).
Třetím důležitým programem umístěným ve stejném adresáři je:
FF2NX.exe ... konverzní program pro konverzi dat z FlashFiler 2.13 do NexusDB 2.07, tedy tabulek *.ff2 do *.nx1.
2) vytvořte adresář určený pro data NexusDB serveru (tabulky *.nx1):
C:\nexusDB
3) pro urychlení přechodu na NexusDB je možné konverzi tabulek *.ff2 na *.nx1 provést ve 2 krocích tak,
že se nejprve převedou všechna aktuální data a ve 2. kroku potom historická data z minulých let
Příklad pro agendu XX:
vytvořte adresář
C:\FF2
a do něj překopírujte všechny tabulky z aktuálně nastaveného datového adresáře FlashFiler 2.13 serveru, FlashFiler server
musí být ukončen a vypnut, aby bylo možné přistupovat ke všem souborům
potom vytvořte adresář
C:\FF2-old
a do něj z adresáře C:\FF2 přesuňte všechny soubory
XX0*.*
XX1*.*
XX2*.*
XX3*.*
XX4*.*
XX5*.*
XX6*.*
t.j. všechna historická data vztahující se k rokum 2006 a starším.
4) spusťte program
C:\nexusDB-exe\FF2NX.exe
a počkejte, dokud se nespustí oba databázové stroje FlashFiler i NexusDB a neobjeví se:
ponechejte označené Directory Mode (Internal) a přepněte se do záložky
Original (From) / Databases
a zadejte adresář s tabulkami FlashFiler (*.ff2) určenými ke konverzi, t.j.
C:\FF2
přepněte se do záložky
Original (From) / Tables
s stisknutím Select All označte všechny vstupní tabulky *.ff2
Nyní se nahoře přepněte do záložky
Copy (To) / Server
a ponechejte vybrané Directory Mode (Embedded)
Přepněte se do záložky
Copy (To) / Databases
a zadejte cílový adresář, kam se budou tabulky *.nx1 ukládat:
C:\nexusDB
Nikde nic jiného neměňte a stiskněte Import.
Objeví se okno s průběhem konverze tabulek *.ff2 na *-nx1.
Po ukončení konverze
je zobrazena statistika převodu a na konci by mělo být uvedeno
0 transfers failed
to znamená, že konverze proběhla v pořádku a je možné konverzní program ukončit stisknutím Exit.
Protokol o konverzi je umístěn v souboru
C:\nexusDB-exe\ImporterEvents.nx1
při jakýchkoliv problémech s konverzí jej zašlete autorovi programu.
Rychlost konverze závisí na množství a velikosti vstupních dat (*.ff2 tabulky), rychlosti počítače,
na kterém je konverze prováděna a dostupné volné paměti RAM. Doporučujeme nepřevádět
naráz víc tabulek než asi 1-2 GB při dostupné paměti 1 GB nebo větší.
Při konverzi tabulek z *.ff2 na *.nx1 je velikost výsledných *.nx1 tabulek asi 1,15x větší
než původních *.ff2 tabulek.
Při testovací konverzi na PC s dvoujádrovým 2GHz CPU a 2 GB paměti probíhala konverze rychlostí
180 MB za minutu, za hodinu tak bylo možné konvertovat asi 10 GB *.ff2 tabulek.
Konverzi nad reálnými daty je možné ověřit před skutečným ostrým převodem dat a připravit
se tak na skutečnou dobu konverze, která by se měla pohybovat maximálně v řádu hodin.
Při nedostatku času je proto vhodné konverzi rozdělit na 2 kroky a po převodu aktuálních dat
dodatečně převést data historická z let 2006 a starších a to kdykoliv před jejich skutečnou
potřebou.
V tomto případě se provede bod 4) znovu, ale se vstupními daty z adresáře
C:\FF2-old
Pokud je na konverzi dostatek času, lze provést konverzi tabulek *.ff2 na *.nx1 dohromady,
případně starší data převést dopředu před konverzí aktuálních dat.
5) v kroku 4) byla konvertována všechna data z FlashFiler do NexusDB a je možné přistoupit ke
spuštění a nastavení NexusDB serveru.
Spusťte program:
C:\nexusDB-exe\nxServer.exe
Po spuštění se zobrazí okno serveru:
Vpravo dole v okně by mělo být zobrazeno
Version: 2.0702
nebo novější.
V levé stromové struktuře funkcí vše rozbalte a upravte velikost okna do tvaru:
Ve větvi Server Engine zrušte zaškrtnutí u pole Active:
Ve větvi Aliases zadejte do pole
Alias Name: FF
a do pole
Path: c:\NexusDB
a stiskněte Add.
Postupně doplňte obdobně další 3 Aliasy:
FFU
FILE
RAM
se stejnou cestou tak, aby bylo v okně nakonec zobrazeno:
Path c:\NexusDB označuje adresář, ve kterém má NexusDB uložena data v podobě *.nx1 tabulek
a přistupuje k nim prostřednictvím Aliasu, který označuje název databáze. ES manas
je tak možné škálovat až na 4 samostatné NexusDB servery s databázemi:
FF ... sklad, POS a ostatní
FFU ... účetnictví, mzdy, evidence majetku
FILE ... soubory, např. fotografie palet
RAM ... soubory umístěné pro rychlý přístup v RAM (testováno na iRAM disku)
Nyní se přepněte do větve Event Log:
a nastavte:
File name: c:\NexusDB-exe\nxlog.txt
Max. Size: 100 MBytes
ä stiskněte vpravo dole
Apply
Přepněte se do větve TCP/IPv4 Transport:
a zaškrtněte postupně:
Logging
a
Active
Přepněte se do větve Direct TCP/.NET Transport
a zaškrtněte
Logging
Přepněte se do větve GUI Settings:
a zaškrtněte všechna zaškrtávací pole a stiskněte
Apply
Přepněte se do větve ServerInfo Plugin:
a zaškrtněte
Logging
musí být rovněž zaškrtnuto
Active
Přepněte se do větve
SQL Engine:
a zaškrtněte
Logging
musí být rovněž zaškrtnuto
Active
Přepněte se do větve
Server Engine
a nejprve zrušte zaškrtnutí u pole Active, aby bylo možné nastavit parametry serveru.
Nastavte:
MaxRAM: 512 Mbytes
... záleží na maximální dostupné velikosti paměti RAM na počítači serveru, nastavte maximální možnou hodnotu
a případně počítač serveru doplňte o další paměť, protože čím větší paměť RAM je dostupná tím rychlejší budou
operace serveru, protože tím více bude moci zůstat v paměti RAM různých mezivýsledků a dat
Path: c:\NexusDB-exe
Size: 1024 MBytes
... jde o nastavení umístění a maximální velikosti pracovního souboru serveru
a vpravo dole potvrďte stisknutím
Apply
Nyní ve stejném okně zaškrtněte postupně:
Logging
a
Apply
Přepněte se do větve Transports / Direct TCP/.NET Transport:
A zaškrtněte Active.
Přepněte se do větve Transports / TCO/IPv4 Transport:
A zaškrtněte
Active
Tím je server nastaven a spuštěn. Doporučujeme nxServer.exe doplnit do menu Start Windows do větve
Po spuštění, aby se server spouštěl automaticky po restartu Windows.
Nyní nahoře v menu okna serveru zvolte:
Settings / Save settings
a následně
Settings / Save settings to
a jako Název souboru zadejte například:
c:\nxServer-exe\2007-11-26
toto je velmi důležité, protože např. po havárii Windows ("modrá smrt") by mohl NexusDB server
ztratit konfiguraci a potom je ji možné jednoduše obnovit pomocí:
Settings / Load settings from
c:\nxServer-exe\2007-11-26.nxdbsettings
Pro ověření správnosti nyní následuje přehled oken ke větvím funkcí, které jsou aktivní (zelené) se
správným nastavením:
Pro sledování činnosti nxServeru pak slouží 2 větve se statistikami:
a
6) Správnou funkci NexusDB serveru ověříte spuštěním programu
c:\NexusDB-exe\nxEnterpriseManager.exe
a to nejprve z počítače s NexusDB serverem a následně z jiného počítače v síti, na kterém bude
nainstalován klient ES manas - pravděpodobně bude ne obou počítačích nastavit bezpečnostní politiku
podle používaného OS, firewallu a antiviru.
Po spuštění se objeví okno:
Dvojklikem na serveru
NexusDB@10.0.0.35
kde NexusDB je název serveru a 10.0.0.35 je IP adresa serveru, adresa Vašeho NexusDB serveru je v okně serveru
zobrazena zde vpravo dole (Server Addresses):
Dvojklikem na FF/Tables v nxEnterpriseManager:
se zobrazí seznam dostupných tabulek v dané databázi (Aliasu) FF.
Dvojklikem např. na tabulku _D7_UDEU:
se zobrazí data zvolené tabulky a je možné nad nimi provádět požadované operace.
Tím se ověří, že je NexusDB server spuštěn, správně nastaven a dostupný na samotném počítači
se serverem i na jiném počítači v síti, na kterém bude spuštěn klient ES manas.
7) Posledním krokem přechodu z FlashFiler na NexusDB při použití v síti je instalace
aktuální verze klienta ES manas určeného pro NexusDB, nejlépe stažením a instalací aktuální verze
instmanasLITEnx.exe
do stejného adresáře, kde byl nainstalován původní klient manas.exe určený pro FlashFiler.
Tak nebude nutné nic nastavovat, protože klient pro nxServer používá vše stejně jako původní klient
pro FlashFiler, jen je nutné spustit
manasNX.exe (místo manas.exe)
případně
manasPOSnx.exe (místo manasPOS.exe).
Poznámky:
a) programy FF2NX.exe, nxServer.exe i nxEnterpriseManager.exe používají TCP/IP protokol
a při svém spuštění budou pravděpodobně vyžadovat povolení své činnosti v používaném
firewallu, antiviru či dalších bezpečnostních programech používaných na počítačích
b) na MS Windows Vista doporučujeme všechny výše uvedené programy spouštět
s administrátorskými právy, případně vypnout UAC