Feed on
Posts
Comments

Monthly Archive for June, 2009

Колко тежък е един commit

Ще започна с кратко припомняне към изискванията към БД при commit:
- I: преди да се случи commit, всички промени на данни са неокончателни и трябва да не се виждат от другите потребители. С други думи, за всички потребители освен мен, промените, които правя не съществуват, докато не ги потвърдя с commit
- A: не е допустимо в нито един момент половината промени да излязат видими и успешни, а другите - не. Или всичките (може и милиони) редове са променени, или нито един
- C: при commit промените, които съм направил, изведнъж започват да се виждат и да важат за другите потребители на системата. И това трябва да стане in an instant, в един момент да се видят всичките промени, които не са се виждали
- D: когато кажа commit (и БД ми потвърди, че е изпълнила командата), моите данни трябва да са наистина фиксирани на диска. Ако след една секунда спре тока, моите данни трябва вече да са окончателно записани
(Това е свободна интерпретация около изискванията за ACID транзакции, които трябва да изпълнява всяка смислена СУБД)

Една от мантрите на хората, които са запознати с начина на действие на Oracle database е, че една транзакция трябва да е толкова голяма, колкото го налага бизнес логиката. Хората, които използват някои други СУБД, се притесняват, че aко направят твърде много промени в една транзакция, че се забави фиксирането им (commit). Но това не важи в чудесният свят на Оracle.

Ще покажа един пример от практиката (имената на главните герои са променени за да защитя личният им живот от намесата на журналисти). Наложи ми се да претакам голям обем от данни между 2 БД, при това - през мрежата. Като цяло скоростта на прехвърляне не ми беше голям проблем, тъй процедурата се наложи еднократно. За това не съм се напъвал да оптимизирам нещата, просто ги пуснах да се случат:

SQL> set timi on
SQL> insert /*+ append */ into some_big_table
  2  select * from other_big_table@other_db
  3    where . . .;

284379885 rows created

Elapsed: 01:23:12.05
SQL> commit;

Aко ти е интересно, чети нататък…)

Read Full Post »

DBMS_STATS и работа с partitions

Хем съм чел за тази мотика, но пак не съм я запомнил…

Правих (или преписвах) една процедура, която прехвърля данни за един месец от едн място на друго. И двете таблици (да кажем, че са source_tab и dest_tab) са partitioned, но с различна организация: source_tab има partition за всеки ден, а dest_tab е историческа и като такава е нацепена на месец (и компресирана). Така че exchange partition не ми върши работа. За това процедурата, съвсем схематично, изглежда така:

Aко ти е интересно, чети нататък…)

Read Full Post »

Днес в любимият ми източник на непрофесионална журналистика ме посреща следното заглавие:

КАТ ни дебне вече и отзад

Ставало дума за ново оборудване в патрулките. Ама не ме питайте за какво се сетих първо… :)

Read Full Post »

Време е

Тази сутрин пристигнах в офиса и беше слънчево.
Преди 20 минути изведнъж се стъмни. Сякаш някой цъкна копчето на лампата. Изведнъж притъмня.
А сега започна и да вали. Едри капки, в комбинация със силен вятър. И се усилва - и дъжда, и вятъра.
В такива дни ми се иска да си дремя вкъщи, завит с някое леко одеалце. [...]

Read Full Post »

Попаднах на следната обява от родния ми “Технически университет - Габрово”

Технически университет – Габрово търси да назначи асистент по математика на постоянен трудов договор.

Кандидатите трябва да притежават образователно-квалификационната степен “магистър”. Съгласно закона за висшето образование кандидатите трябва да са не по-възрастни от 35 години. Необходими са умения в областта на линейната алгебра, аналитичната геометрия и математическият анализ.

Тъй като асистентът по математика обучава студентите по изброените вече дисциплини, умения в областта на компютърната техника както и знания по английски език не са необходими.

Катедра “Висша математика” осигурява обучение преди започване на работа.

Документи се подават до 25 юни 2009г. За допълнителна информация…

Изрично е записано, че не ти трябват нито компютърна грамотност, нито владеене на английски език. И наистина, тези умения не са ти необходими за да преподаваш суха математика на младите студенти, дошли да се научат, примерно, на “Компютърни системи и технологии”.

В крайна сметка, кой каза, че математиката има нещо общо с компютрите?

Любопитен съм дали Nicodile може да каже нещо по въпроса ;-)

Read Full Post »

125 пъти повече

Покрай цялата дандания с евроизборите най-дълго ще помня въпроса на една баба, която интервюираха по някоя телевизия:

Аз взимам 120 лева пенсия и с нея се изхранвам. Колко гърла има един евродепутат, че да взима 15000 лева?

Много мисля над този въпрос. Нормално е да има разлика в доходите. Но тук става дума за 125 пъти (!) разлика. 12 500 процента, за любителите на статистиката. При това без да задълбаваме в допълнителните доходи на евродепутатите.

Наистина, по 125 гърла ли имат тези хора? Света ревна за високите заплати на провалилите се мениджъри. А то май не е само в банки и мега-корпорации.

Много може да си говорим за това, че излъчените от нас евродепутати не трябва да ходят голи и боси сред колегите си, ама… 125 пъти?

Ако приемем, че това са парите, с които трябва да се изхранва… наистина, колко гърла има един евродепутат?

Ако приемем, че това е заплащането за заслугите… дали е направил нещо повече от бабата с десетки години стаж? Дали е дал на света или на народа си 2, 3, 5 пъти повече от нея? Заслужил ли 10 пъти повече? А 125 пъти?

Аз също взимам добри пари (е, далеч от евродпутатска заплата, но все пак много добри). Но често се замислям за това как в търсенето на все повече и повече губим връзката с реалността. Замислям се как бих живял със 120 лева, както живеят 1/4 от българите. Или хайде, с 400-500-600 лева, с колкото живеят много хора които също като мен бачкат здраво, но не са имали късмет с избора на професия. Не са имали късмет с дарбите, ако щеш. Хора, които се изгърбват от работа в нещастен (не по тяхна вина) завод в северозападнала България.

Как бих живял с доходите на един музеен работник, какъвто е майка ми? Или с доходите на шивачка в някой шивашки цех, като леля ми? Или на продавач в сладкарница, като един мой близък приятел… който има същите нужди, каквито имам и аз.

Но разликата между мен и тези хора бледнее в сравнение с разликата между бабата и нейният представител в европейския парламент. Той дали се замисля за това с какво е заслужил тази разлика? 125 пъти…

Read Full Post »