måndag 2 april 2012

ACID

In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties that guarantee that database transactions are processed reliably.

På Wikipedia

BDBMS

Bag database system:

  • jag är på G att designa ett bag-databas-koncept därför att jag fann essentiella tankefel och begreppssammanblandningar i relationsdatabaskonceptet, samtidigt som jag upplevde arbetet med relationsdatabaser som klumpigt och kontraintuitivt — bag-databaserna avser vara ett lättviktsalternativ till relationsdatabaser, när man önskar ett snabbt databassystem som ansluter till ett enskilt programspråks datatyper, och när man vill låta programlogiken upprätthålla det mesta av dataintegriteten — jag tycker att relationsdatabaser är underbart roliga och trevliga och troligen rentav det mest lämpliga att använda i jättetillämpningar på grund av sin höga nivå av kontroll och dataintegritet, men kanske mindre relevanta för tillämpningar med få användare och snabb interaktion, t.e.x. sex användare i en arbetsgrupp som jobbar samtidigt interaktivt med några dokument lagrade i databasen;
  • en bag-databas följer inte relationsdatabas-filosofin, den tillhandahåller inte SQL, den har inte ett stort gäng bra-att-ha-datatyper, och den bygger inte på tabeller som grundläggande abstraktion;
  • en bag-databas laddar in ett stort antal tupler, var och en innehållande sina attribut, denna totala samling tupler är bagen (“kassen”), och den är essentiellt ostrukturerad och varje tupel är essentiellt oklassificerad;
  • tabeller i ett bag-databas-system motsvarar vyer i ett relationsdatabassystem, med den skillnad att man kan även kan sätta in nya element i databasen med hjälp av bag-databas-tabellen — medan en tabell är en lagringsentitet i relationsdatabaser, så är tabellen ett interface i bag-databasen, d.v.s. en översättning av inkommande data till utgående data — lagringseffektivitet, cachning och systematisk datalagring är inte kopplat till tabellabstraktionen, utan realiseras i stället i ett separat lager under tupel-bagen;
  • bag-databasen lagrar inte data i förutbestämda datatyper, utan i stället i minnessegment med si-och-så byte stora subsegment, datatyperna är i stället associerade med tabellerna på så sätt att det finns en indatatyp och en utdatatyp på in- respektive ut-sidan av tabell-interfacet;
  • terminologi:
    BDBMSRDBMSskillnader
    fil(varierar)fysisk lagring på hårddisken är olika i olika RDBMS
    boxtabellboxen skapas dynamiskt av BDBMSet medan tabellen är en designad statisk entitet i RDBMSet
    bag--alla data, saknas som koncept i RDBMS
    tabellvyi RDBMS en virtuell tabell som autogenereras av ett query, i BDBMS ett interface som transformerar data från ett format till ett annat via datatyper, vanligen är inkällan eller utkällan vid tillämpandet av transformationen bagen, men man kan även använda tabellen utan snitt till just bagen
    datatypdatatypi RDBMS är datatypen associerad till tabellen och således indirekt i data som ju lagras i tabellen, i BDBMS är tabellen frikopplad från data och används i stället för kontroll av data vid transformation (= filtrerad överföring)

lördag 31 mars 2012

söndag 25 mars 2012

Google Chrome

Sitter med Iceweasel 3.5.16 i en Debian 6:a i VirtualBox i Windows 7, det absolut helt naturliga sättet att köra om man snabbt vill åstadkomma avancerade tekniska saker, såsom att generera PDF:er från råhackad PostScript, köra TeX eller bara hacka C++-kod litet så där.

Det här bloggsystemet (blogger) är emellertid så "avancerad" så att den gillar inte så "gammalmodiga" webbrowsrar som Iceweasel — en maximalt två år gammal Firefox som är kodstädad för att Debian-teamet skall tycka att den är OpenSource nog. Blogger tycker att jag skall köra Google Chrome:

Det autoritativa och mycket professionella svaret på detta är: "när helvetet fryser till IS!" När man surfar på nätet stöter man på otrevlig JavaScript-kod även hos välvilliga och seriösa websidetillverkare, såsom Sveriges Radio, vilket de numera städat efter mina intensiva påtryckningar (och säkert en massa annan kritik). När jag med stort besvär laddade in deras otroligt sega sidor hittade jag en massa högst tvivelaktig spyware (som spyfluga fast värre) från google-analytics. OK, de som nu vet att Blogger ägs av Google, begriper vid det här laget sammanhanget, och anledningen till uppmaningen att byta till Google Chrome. De vill inte ha sin spyware blockerad. När ni kommer i jobb, tänk på vad ni gör, och vilka programvaror ni kör, även om de verkar vedertagna och — vik hädan, Lögnens Furste! — de-facto-standarder!

AD - vad i h*e är ett SPN?

I boken Configuring Windows Server 2008, Active Directory, sid 426, förekommer ett ytterst flummigt SPN, alias service principal name, vilket används av en applikation för att efterfråga access till en service (i Windowsmening) av en Kerberos-autenticerare. Applikationen antas sända SPN:en, som exempelvis kan se ut så här

    MSSQLSvc/sqlservername.adminprep.com:3411

till Kerberos-autenticeraren (en DC eller dylikt) som svarar med att ge en accesslänk till en MSSQLSvc (en MS SQL Service) vid namn sqlservername.adminprep.com, som kör mot porten 3411. Typ.

torsdag 22 mars 2012

Digitally Imported

För Techno-freak som gillar Techno och annan Elektro: Digitally Imported

Trasig dator

Min primära dator Iapetus (AMD Sempron, ACER) har pajjat. Närmre bestämt verkar det vara nätaggregatet som inte längre levererar tillräckigt med ström för att BIOS:et skall kunna boota. Kommer inte åt min email på masterhårddisken som fanns i Iapetus. Jobbar på saken. Datorn kommer att repareras eller slaktas. Vi får se...

Jobbar samtidigt med att få en urgammal Pentium-II-dator vid namn Oberon att fungera. Fått den att boota (Linux) på den primära hårddisken, och en sekundär på 15 GB. Mycket, mycket trevlig standardmaskin av märket DATAREF, fått från mor&far som i sin tur fått den av brorsan. Skall strax testa CD-läsare och eventuellt stoppa in en DVD-läsare från Iapetus.

måndag 19 mars 2012

Forwarding pointers

I boken (Microsoft SQL Server 2008) sid 94 står det något luddigt om forwarding pointers. Om man googlar (bing är värdelöst) på "forwarding pointers" och "Index" på site:technet.microsoft.com så får man NOLL träffar. Googlar man på "forward pointers" och "Index" så får man den högst relevanta länken:

fredag 16 mars 2012

Index

Ett index är en "sortering" som man sätter upp på en tabell, för att det skall gå snabbare att slå upp i tabellen när man söker. Ett index är av samma natur som det bokstavssorterade index ("register") som finns i en bok, med den skillnaden att boken är oföränderlig, medan en tabell går att utöka genom att lägga till nya rader. Index uppdateras då så att den nya raden tas med och sorteras in även i indexet. Man skapar index när man gör fininställningar i databasen, och sedan verkar de osynligt. När man gör SELECT på den kolumn man skapat ett index, så använder detta SELECT-anropet indexet. Det går snabbare att söka, men långsammare att sätta in nya värden i tabellen, eftersom de index som tillhör tabellen måste omsorteras.

(sakfelaktig mening struken: B-träd är inte alls detsamma som de balanserade träd jag beskrev, ber om ursäkt!)

1) Sidan 88 i boken Microsoft SQL Server 2008, stycket under figuren 4-1

2) Sidan 89 i boken Microsoft SQL Server 2008, sista stycket före ny sektion Index Levels

torsdag 15 mars 2012

(Ny blog) XYZFLERP

Första inlägget i den nya bloggen. Har för avsikt att lägga till noteringar från IFTAC-kurserna här. Eftersom ITIL, A+ och Network+ är avklarade för mig, så kommer dessa i huvudsak inte att täckas in här. För tillfället är det SQL-kurserna (och i bakgrunden Windows AD-kursen som dominerar här).

(De gamla bloggarna är följande)