Gå til innhold

ProgrammeringsBaren! Småprat, om det du elsker!


Anbefalte innlegg

Videoannonse
Annonse
Gjest Slettet+9871234

Har du tenkt å bruke PostgreSQL, bør du kanskje også ta en titt på den nyeste litteraturen:

 

http://www.oopschool...=298&p=336#p336 Siste punkt.

 

Der er kommet (kommer) en del nye titler hos PaktPub i 2013. De bøken kan lastes ned som pdf dokument og gir ofte mye for noen få kroner. Latterlig billige bøker sett med norske øyne.

Endret av Slettet+9871234
Lenke til kommentar

SQLite er ein flott database, den støtter nå foreign keys, check constraints, concurrent read med WAL logging og er sinnsjukt rask for enkle data modeller. Er ikkje SQLite godt nok, så er neppe heller ikkje MySQL det. Og då er PostgreSQL eit godt alternativ.

Lenke til kommentar
Gjest Slettet+9871234

Jeg vet at SQLite er bra og så en gang på

 

http://withdjango.com/

 

som baserer seg på Python 2 og SQLite. Søkestreng:

 

django kgun site:www.diskusjon.no

 

Nå er min favoritt litteratur kilde

 

http://www.packtpub....ners-guide/book

 

som baserer seg på SQLite.

 

Samtidig har jeg noen av de postgreSQL bøkene jeg nevnte i forrige tråd.

 

Den om performace er jo viktg. Sybase Transact SQL brukte jo klustrede og ikke klustrede indekser (sorter alltid data før du legger det i basen og ha en klustret indeks på den sorterte kolonnen :hmm: ). Kombiner det gjerne med ytterligere ikke klustrede indekser for å forbedre ytelsen enda mer.

 

Indekser, lagrede prosedyrer samt triggere (prosedyrer som automatisk utløses om en rad oppdateres) er vel ikke implementert i SQLite?

 

Forhåpentilgvis får jeg et grunnlag for å kunne sammenligne PostgreSQL og php kontra Python og SQLite.

Endret av Slettet+9871234
Lenke til kommentar

InnoDB-motoren tilstreber ihvertfall å være ACID. Historisk sett har ikke MySQL lagt noe vekt på å være standardcompliant og når ting ikke funker som man forventer så tar plutselig alt så lang tid. Det faktum at man må skru på en "strict mode" for å få sånn nogen lunde forventet funksjonalitet sier jo litt. Mye greiere å jobbe med databaser som oppfører seg mest mulig likt synes jeg.

 

Skjemaendringer på store tabeller er også et sorgens kapittel, det kan jo ta evigheter fordi alle data i tabellen fysisk blir kopiert.

 

Kort oppsummert, mysql er altfor treig å jobbe med, håndtering av mange samtidige brukere og optimalisering av komplekse spørringer er sikkert blitt bra med åra, men den er fortsatt slitsom å jobbe med, og befinner seg i midt i Oracle-hengemyra. Nå er vel svjv. MariaDB blitt såpass moden at den er et bedre alternativ.

Lenke til kommentar
Gjest Slettet+9871234

BitNami sine WAPP, LAPP og MAPP stacker inkluderer også SQLite. WAPP gikk greit på min bærbare før jeg formatertete den og installerte Windows 8. Nå bruker jeg denne:

 

http://www.enterpris...ning/pgdownload

 

Med den følger jo også PgAdmin III samt phpPgAdmin ++ (avhengig av hva du haker av for under installeringen).

 

Neste gang installerer jeg en av pakkene, muligens WAPP på et Windows 8 (eller senere) nettbrett, sammen med DW CS og siste versjon av Python for også å prøve kombinansjonen Python + SQLite, Minimalisme gjør at jeg nå konsentrerer meg om PostgreSQL, drupal og php. Håper at det snart kommer Windows nettbrett med 256Gb eller større harddisk. Det skulle imidlertid ikke være noe problem med å installere og kjøre WAPP på dagens nettbrett med 128 Gb disker.

 

Da kan man jo stikke til havs med en motorseiler, trådløst nettverk, fiske og utvikle nettsider. En cabincruser kan bli for stressende.

 

Fast: PostgreSQL makes strategic use of indexing and query optimization to do as

little work as possible. It has one of the most advanced query planners of any relational

database, yet exposes its internal reasoning through the EXPLAIN statement, so you

can find and fix the performance issues if they arise.

 

Jeg regner med at dere kjenner til og bruker EXPLAIN til å analysere SQL statements før de utførers. Det kan være en bra strategi for komplekse spørringer (som tar tid).

Endret av Slettet+9871234
Lenke til kommentar
Gjest Slettet+9871234

Litt om ANALYZE og INDEKSER i PostgreSQL (har ikke testet det i andre databaseplattformer):

 

DROP TABLE IF EXISTS t;

CREATE TABLE t(k serial PRIMARY KEY, v integer);

INSERT INTO t(v)
SELECT trunc(random() * 10)
FROM generate_series(1,100000);

SELECT * FROM t WHERE 1=2;

 

 

VACUUM ANALYZE t;

 

SELECT relname, relpages, reltuples FROM  pg_class  WHERE  relname='t';

SELECT relname,round(reltuples / relpages)  AS rows_per_page  FROM  pg_class WHERE  relname='t';

SELECT relname,round(reltuples / relpages)  AS rows_per_page  FROM  pg_class WHERE  relname='t';

EXPLAIN ANALYZE SELECT count(*)  FROM  t  WHERE  k=1000;

EXPLAIN ANALYZE SELECT count(*)  FROM  t  WHERE  v=1;

EXPLAIN ANALYZE SELECT count(*)  FROM  t  WHERE  k>9000  AND  v=5;

 

 

CREATE  INDEX  i  ON  t(v);

SELECT relname,reltuples,relpages FROM  pg_class  WHERE  relname='i';

CLUSTER t USING i;

ANALYZE t;

EXPLAIN ANALYZE SELECT COUNT(*) FROM t WHERE v<4;

 

 

EXPLAIN ANALYZE SELECT COUNT(*) FROM t WHERE v<6;


EXPLAIN (ANALYZE ON, BUFFERS ON) SELECT count(*) FROM t WHERE v=5;

DROP INDEX i;

EXPLAIN (ANALYZE ON, BUFFERS ON) SELECT count(*) FROM t WHERE v=5;

 

 

CREATE TABLE t(k serial PRIMARY KEY,v integer);

CREATE TABLE t(k serial,v integer);

ALTER TABLE t ADD CONSTRAINT k_key UNIQUE (k);

CREATE INDEX i ON t(v) WITH (FILLFACTOR=100);

CREATE INDEX i_category ON t (category,subcategory);

SELECT * FROM t WHERE category='x' and subcategory='y';

SELECT * FROM t WHERE category='x';

SELECT * FROM t WHERE subcategory='y';

CREATE INDEX i ON t(v DESC NULLS FIRST);

CREATE INDEX accounts_interesting_index ON accounts WHERE interesting IS true;

CREATE INDEX i_lower_idx ON t (lower(name));

SELECT * FROM t WHERE lower(name) = 'x';

CREATE UNIQUE INDEX I ON lower(username);

Endret av Slettet+9871234
Lenke til kommentar

Noen ideer om hvor jeg bør selge selvskrevet software?

 

Er snart ferdig med et ganske nyttig program, skal bare bli ferdig med eksamensperioden, og så kjøre den igjennom forskjellige debuggingscenarioer etc. Så tenkte å skaffe noen ekstra inntekter til å finansiere et annet prosjekt.

 

Trenger muligheten til å la folk som har betalt laste ned seneste versjon etc også.

 

Finnes det noe ala google play til desktop? Er snakk om et java program. :)

Lenke til kommentar

Noen ideer om hvor jeg bør selge selvskrevet software?

 

Er snart ferdig med et ganske nyttig program, skal bare bli ferdig med eksamensperioden, og så kjøre den igjennom forskjellige debuggingscenarioer etc. Så tenkte å skaffe noen ekstra inntekter til å finansiere et annet prosjekt.

 

Trenger muligheten til å la folk som har betalt laste ned seneste versjon etc også.

 

Finnes det noe ala google play til desktop? Er snakk om et java program. :)

 

Er det ikke sånn at alt du utvikler, finner på av idéer og hva det nå måtte være samtidig som du tar utdanning, tilhører utdanningsinstitusjonen?

Lenke til kommentar
Nei.

 

Ikke forklar alt så grundig, det blir så tungt å lese teksten din...

 

Alt du f.eks finner opp som kan ha noen som helst sammenheng med det du jobber med, tilhører bedriften du jobber for. Det samme mener jeg å ha hørt gjelder en utdanningsinstitusjon, at hvis du f.eks skulle snuble over et nytt grunnstoff i masteroppgaven din i kjemi så tilhører oppdagelsen institusjonen og ikke deg.

Lenke til kommentar

Det kommer jo helt an på hva slags vilkår man akspeterer når man signerer arbeidskontrakten. Noen bedrifter har lignende vilkår i sine kontrakter, andre har det ikke.

 

Aldri hørt om dette hos utdanningsinstitusjoner, ihvertfall ikke når det gjelder ting man utvikler selv på fritiden.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...