Precīzs jautājums

novembris 23, 2010


Vai Tu proti uzdot precīzu jautājumu? Tādu, kuram potenciālajam atbildētājam nav jāuzdod vēl 5 precizējoši papildus jautājumi un jāizdara 7 pieņēmumi?

Ja tā, tad apsveicu! Jo esi diezgan rets putns. Diemžēl lielākā daļa cilvēku nespēj formulēt un uzdot precīzu jautājumu, tādu, kuru apskatoties, vari nešaubīgi izdomāt un sniegt atbildi. Lielākajā daļā gadījumu informācija ir vienkārši nepietiekama, pie tam reizēm tā ir jāvelk ārā kā ar stangām, reizēm to ir iespējams noprast, jo esi saskāries ar līdzīgu situāciju, reizēm apzināti vai neapzināti atbildētājs izprovocē situāciju kā šai anekdotē:

Vīrs ar sievu izdomāja vienā sava dzīvokļa istabā pārlīmēt tapetes. Sieva saka vīram:
– Noej lejā pie kaimiņiem, viņi nesen remontu taisīja. Viņiem ir tieši tāds pats dzīvoklis, uzzini, cik tapešu ruļļus viņi nopirka.
Vīrs noiet pie kaimiņiem un uzzina, ka kaimiņi pirms remonta nopirkuši sešpadsmit ruļļus.
Sieva ar vīru izlīmēja tapetes un secināja, ka pieci ruļļi palikuši pāri.
Vīrs noiet pie kaimiņiem:
– Es nekādi nevaru saprast – vienādi dzīvokļi, bet mums pieci ruļļi palika pāri. Kā gan tas var būt?
Kaimiņš, rāmi smaidot, saka:
– Tu nepārdzīvo, viss ir kārtībā, mums arī pieci ruļļi palika pāri.

Tātad, ko nozīmē precīzs jautājums?

Precīzs jautājums ir tāds, uz kuru var atbildēt cilvēks, kas:

  1. neko nezin par tavu jau nedēļu risināmo un prātus pārņēmušo problēmu
  2. bet tai pašā laikā pārzina problēmas sfēru un spēj atbildēt uz jautājumu, ja ir zināma problēmas nostādne un panākamā situācija.

Nesākšu gari teoretizēt un dot smalkus skaidrojumus, bet lūk ir piemērs,manuprāt, precīzam jautājumam. Lasīt pārējo šī ieraksta daļu »


MySQL Workbench – datu modelēšanas rīks

novembris 15, 2010

Iepriekšējo reizi rakstīju par savu pieredzi darbā ar Oracle DesignerGrade modeler un Visio. Tā kā pārāk daudz apskatīt reizē nesanāks, šoreiz būs tikai par vienu MySQL Workbench. Bet vispirms par aptauju, kurai jau pieaugusi neliela bārda. Tātad iepriekšējā reizē jautāju lasītājiem, kādus datu modelēšanas rīkus nācies izmantot. Rezultāti ir šādi:

Datu modelēšanas rīku popularitāte

Datu modelēšanas rīku popularitāte

Kopā bija 77 balsis, no kurām gandrīz trešdaļa (30%) izvēlējās Visio, otrajā vietā ar 19% bija MySQL Workbench, bet trešajā Grade Modeler ar 12%, ceturtajā Designer ar 11%. Pārējiem visiem piekritēju bija mazāk nekā 10%.

Nu tad ķeramies pie godājamā otrās vietas ieguvēja MySQL Workbench. Instalāciju tam var atrast šeit. Rīks ir bezmaksas jeb precīzāk tā Community redakcija ir pieejama ar GPL licenci.

Sākumā dažas svarīgākās lietas:

  • Rīks ir domāts tikai un vienīgi MySQL datubāzei.
  • Rīkam ir divas redakcijas (editions). Community ir pieejama bezmaksas, bet Standarta ir par maksu ar papildus iespējām, piemēram, datubāzes dokumentācijas ģenerēšanu.
  • Vismaz jaunākajā 5.2 versijā ar to var darīt jau trīs lietas:
    • veidot datubāzes modeļus;
    • izpildīt SQL pieprasījumus;
    • veikt MySQL datubāzes administrēšanu.

Izvērstu tā iespēju uzskaitījumu un salīdzinājumu pa redakcijām var redzēt šeit.

Tālāk pievērsīsimies šī rīka datu modelēšanas iespējām. Nākošajā attēlā var uzskatāmi redzēt šī rīka maza datu modelīša piemēru.

MySQL workbench datu modeļa piemērs

MySQL workbench datu modeļa piemērs

Uzskatāmi ir iezīmētas primārās atslēgas (dzeltena atslēdziņa), obligātie lauki (aizpildīts rombiņš), ārējās atslēgas (rozā rombiņš), datu tipi un indeksi, protams arī redzami, bet tos var arī aizvākt. Kopējais rīka izskats ir šāds:

MySQL Workbench Screen

MySQL Workbench Ekrānforma

Rīku iepētīju diezgan minimāli, bet daži iespaidi radās:

  • Tam ir tikai datu modelis, nav entītiju modelis. Tiesa gan, tas rīka izstrādātājiem veidojamos modeļus nav liedzis nosaukt par EER modeļiem, tā kā es šādu saīsinājumu redzēju pirmo reizi, tad pajautāju Googlei, kas tā tāda EER diagramma. Atradu ka tā saucās uzlabotā ER diagramma (enhanced ER-diagram) un šeit arī kāda Sanhosē universitātes ķīniešu profesora prezentāciju par šo. Nu ja pieņem, ka šī profesora viedoklis ir pareizs, tad gan šim rīkam ar viņa iespējām līdz ENHANCED ER diagrammai, piedodiet par izteicienu, kā cūkai līdz mēnesim 🙂
  • Saitēm nav iespējams mainīt gala punktus pie kastītēm, tie tiek noteikti automātiski. Man ir aizdomas, ka sarežģītāku diagrammu gadījumā tas būtu diezgan nepatīkami.
  • Tabulām ir iespējams mainīt izmērus (tās staipīt), tas neapšaubāmi ir pozitīvi, jo lai izveidotu pārskatāmu diagrammu šī lieta ir ļoti nepieciešama.
  • Rīks ļauj datu modelī attēlot un uzturēt arī skatījumus un saglabātās koda vienības.
  • Rīks ļauj ģenerēt kodu no modeļa (forward engineer), kā arī ievilkt jau esošas datubāzes tabulas modelī (reverse engineer). Kas vēl trakāk, tas ļauj arī salīdzināt izmaiņas un tās ievilkt vai nu modelī vai izveidot datubāzē. Tiesa gan izmaiņas tiek parādītas tikai objektu līmenī, piemēram, kaut kas tabulas definīcijā ir mainījies, bet nu jebkurā gadījumā tas ir ļoti labi. Salīdzināšanas ekrāns ar jau izvēlētām mērķa iespējām (ignorēt, DB->modelis, modelis->DB) izskatās šādi:
Datubāzes un modeļa sinhronizācija

Datubāzes un modeļa sinhronizācija

Nobeigumā varu izteikt tikai vienu secinājumu – katrā ziņā rīks izskatās simpātisks, tam ir diezgan daudz visādu iespēju un tas noteikti ir gana noderīgs, ja nepieciešams izmantot MySQL DBVS.


Jauns blogs par SQL ++

novembris 1, 2010

Ir uzradušās divas vietnes, kas noteikti varētu interesēt cilvēkiem, kas interesējas par datubāzēm un SQL. Pirmā ir jauns emuārs par Microsoft SQL Server. Raksti top ātri un daudz, var tikai novēlēt autoram nezaudēt sākotnējo iekārienu kādu ilgāku laika posmu! 🙂 Man pašam arī piemēram noderēja raksts par to, kāda vērtība pēdējā ielikta Identity laukā, kurā vienuviet var redzēt visus 3 dažādos veidus, kā to izdarīt, jo jāatzīst, ka SQL Server dokumentācijā es vēl joprojām orientējos ar nelielām grūtībām.

Otra vietne saucās gandrīz tāpat kā šī, ko pašreiz lasāt, tikai trūkst burts “s” 🙂 Tātad izskatās, ka RTU ir nolēmuši darīt to, ko jau minēju šīs vietnes pirmā gada rezumē – universitāšu pasniedzējiem pašiem popularizēt un organizēt ievietošanu internetā info par Datubāzēm un SQL. Latviski, protams. Šeit ir pieejami šādi tādi mācību materiāli un arī atsevišķi bakalauru, maģistru un kursa darbi par DBVS tēmām. Tiesa gan, man mazliet šermuļus uzdzen fakts, ka vismaz DB1 kursā šķiet kā apmācību vide tiek izmantota MS Access (mums taču ir bezmaksas versijas visām 3 RDBVS, kas par tādām tiešām ir uzskatāmas, Oracle, SQL Server un DB2), bet nu OK, var jau būt, ka tie ir tikai aizspriedumi…

Ievērtējiet!


Profesionālisms, darbs un naudas kāre

septembris 27, 2010

Pēdējā laikā ir bijuši vairāki notikumi, kas rada vēlmi mazliet paspamot. Šoreiz par profesionālismu, darbu (un tā ne-trūkumu) un vēlmi pēc skanošā. Latvijā esot Криздец un bezdarbs, kas gan kopš pavasara mazinoties, bet dīvainā kārtā man prātā nāk vairākas lietas kas šo lietu dara mazliet šaubīgu, piemēram, mana darba vieta jau vismaz gadu meklē PL/SQL programmētāju. Pēdējā laikā vajadzība ir kļuvusi pavisam aktuāla (sīkāk skat cv-online) gan PL/SQLam, gan .NETam, gan MS-SQLam. Taču ne par to ir galvenais stāsts. Galvenais stāsts ir par to, ka vakance ir, taču daudzmaz pieredzējuša cilvēka, kas spētu nokārtot testu, nav. Arī nekādus mega spīdekļus it kā nemeklējam, bet ja cilvēks startē uz PL/SQL programmētāja vietu un apgalvo, ka viņam tajā ir pieredze, tad ir tā kā sagaidāms, ka relatīvi vienkāršu uzdevumu būs spējīgs izpildīt.

Nupat pirms dažām dienām pārliecinājos, ka programmēšana nav vienīgā sfēra ar šādām problēmām. Man pirms ziemas bija jāveic mājā apkures sistēmas uzlabošana (kurinu ar malku/briketēm, bet vajadzēja pielikt klāt siltuma akumulatoru un apkures ūdens boileri). Izrādījās, ka Latvijā tādus taisa tikai pāris vietās. Vīrs, kas man šos bunduļus izgatavoja un uzstādīja, stāstīja par nenormālu darba pārpilnību – tas esot pat vairāk kā tā saucamajos “treknajos gados”. Par darbu viņš prasīja apmēram 70 latus dienā, un viņa situācija ļoti kontrastēja ar kāda mūsu bomža bāleliņa stāstu, kas ir gatavs dzīvot jeb, pareizāk izsakoties, eksistēt Lielbritānijā kā bomzis, bet Latvijā viņam neesot ko darīt…

Iespējams, ka šo cilvēku lielākā problēma ir līdzīga, kā Latvijas basketbola izlasē – nav nopietnas attieksmes pret darbu, īslaicīgas vēlmes un naudas grābšana dominē pār ilgtermiņa perspektīvām; labklājība rīt ap pusdienlaiku ir svarīgāka par to, kas notiks pēc mēneša. Šai ziņā man ļoti iepatikās Armanda Krauliņa intervija portālā sportacentrs.com, kur viņš izteica savas domas par profesionālismu un naudu. Citēju: “[..]ar minimālu darbu grib maksimālu naudu[..] To es arī stāstu jaunajiem treneriem – tā nauda pienāks agri vai vēlu, bet tev jābūt godīgam darbam, profesionālai attieksmei un vēl viena lieta, ko es arī minu visiem kolēģiem, ka jābūt precizitātei. [..] ja tie ir, tad rezultāti pienāks, tāpat kā nauda“. Krauliņš to teica par basketbola treneriem, taču es domāju, ka to noteikti var attiecināt uz ļoti daudzām jomām, tai skaitā noteikti ar IT saistītām aktivitātēm. Diemžēl itin bieži ir diezgan grūti atrast cilvēkus ar šīm trīs īpašībām.


DBVS tirgus daļa Latvijas mērcē

decembris 8, 2009

Nupat rakstīju par DBVS tirgus daļām pasaules mērogā. Izrādās, ka arī Latvijā ir veikts pētījums par nosacītu DBVS tirgus daļu valsts iestādēs, taču tas veikts ar dīvainu tautiski ierēdniecisku piesitienu kā rezultātā darbs ir darīts, resursi iztērēti, bet skaidrības nav.

Reģionālās attīstības un pašvaldību lietu ministrija (RAPLM) jau kādus pāris mēnešus kā sagatavojusi informatīvo ziņojumu „Par Microsoft infrastruktūras programmatūras izmantošanas un informācijas tehnoloģiju infrastruktūras optimizācijas iespējām ministrijās un to padotības iestādēs”, kura ietvaros tika skaitītas izmantotās DBVS licences dažādās valsts iestādēs. Netaisos iedziļināties ieteikumos un secinājumos, bet viena lieta mani gan fascinē – tā ir daļa no pirmā zīmējuma Infrastruktūras programmproduktu licenču skaita sadalījums. Un tā arī godīgi (jācer vismaz)  ir saskaitītas izmantotās licences. Grafiks izskatās šādi:

DBVS licenču sadalījums Latvijas valsts iestādēs

DBVS licenču sadalījums Latvijas valsts iestādēs

Tātad 39% no kopējā licenču skaita ir Microsoft, 37% – Oracle un 24% – pārējais. Tagad man ir jautājums lasītājiem, ko Jums izsaka vārdu savienojums “viena DBVS licence”? Un ko Jums izsaka vārdu savienojums “viena māja”? Es teiktu ka tas ir robežās no šādas mājas:

Tūristu mājiņa

Tūristu mājiņa

līdz pat šādai:

Rundāles pils

Rundāles pils

Tiesa gan pieejamā funkcionalitāte, komforta līmenis un galu galā izmaksas ir maigi izsakoties diezgan atšķirīgas.

Ar DBVS licencēm ir tieši tāpat. Un nemaz nav nepieciešams skatīties uz dažādiem DBVS izstrādātājiem, pietiek ar Oracle. Paskatoties cenu sarakstā, var redzēt, ka licences cena variē no 180 $ par Standard Edition One lietotāja licenci līdz pat 47 500 $ par Enterprise Edition procesora licenci. Nevar īsti saprast, iespējams, ka pētījuma metodes izstrādātāji neko vairāk par MS Office licencēm nav redzējuši (nosvītrotajam iemeslu skat zemāk!), bet pat tām jaunākajā 2007 gada versijā ir 8 dažādi komplekti, kuru cenas atšķiras vismaz par kārtu.

No pētījuma gan nav skaidrs, kādas datu bāzu vadības sistēmas licences ir skaitītas un (vai) kādas nē, jo tas nekur nav rakstīts. Nav arī skaidrs, kapēc ir izdomāta īpašā Latvijas pieeja, bet nevarēja izmantot starptautiski pieņemtu pieeju skaitot licenču izmaksas, kas ir daudz objektīvāks un salīdzināmāks rādītājs ievērojot daudzos un dažādos licencēšanas veidus un tajos ietvertās iespējas.

Papildinājums pēc neformālas sarunas un sarakstes (10. decembrī)

Pēc šī raksta uzrakstīšanas un mana epasta jautājuma ministrijas pārstāvjiem izvērtās neliela sarakste un telefona saruna, kuras laikā noskaidrojās, ka ministrijas darbinieki tomēr zina DBVS specifiku 🙂 un, neskaitot pāris izņēmumus, ir skaitījuši tikai DBVS procesoru licences. Līdz ar to salīdzinājums pēc izplatības jau būtu tīri korekts, vienīgais ieteikums citreiz tādas lietas minēt arī ziņojumā, lai nerastos nevajadzīgi pārpratumi.

Līdz ar to var uzskatīt, ka tiešajās valsts pakļautības iestādēs ir 39% Microsoft, 37% Oracle un 24% citu izstrādātāju DBVS procesoru licences.