Reklāma:

Huge leap

Izskatās, ka neskatoties ne uz ko, ar minimālu piepūli ir izdevies sekmīgi nomigrēt no Apache 1.3.39 un PHP 4.4.4 uz Apache 2.2.3 un PHP 5.2.0. Skatīsimies, kas vēl izlīdīs, aber citādi viss ir čikiniekā. Maza jātne ar MySQL character setiem (PHP4 klients uzvedās savādāk, nekā PHP5.2), diezgan daudz labojama koda (lai dzīvotu bez warnungiem), kā arī šis tas bija kritiski (nestrādāja).

Nākamais solis – izprovēt MySQL 5.0…

Wall4PHP 1.01

Subj. Itin kā vai vajadzēja mainīt minor versijas numuriņu, jo izmaiņu ir gana daudz, bet nu tomēr – lai jau ir. Neskriesim notikumiem pa priekšu. Lejupielāde, izmaiņas.

Starp citu, pavisam noteikti mani priecē tas, ka Wall4PHP lieto, izsniedz idejas uzlabojumiem utt ne tikai entuziasti un citi indivīdi, bet arī lielas un respektablas kompānijas gan te – Latvijā, gan visā pasaulē. Žēl, ka jamās ne pārāk alkst šādas publicitātes :)

MySQL gotcha

Laukam wp_comments.comment_approved tips ir enum('0', '1', 'spam'). Mans allmighty pēdējo komentēto ierakstu plagins selektēja pēc [..] comment_approved = 1 [..]. Nekas nestrādāja. Beigās, protams, man pieleca. Vajag ta [..] comment_approved = '1' [..]. Lūk, tādi tie mysqla taipkāsti. Radina pie slikta stila un beigu beigās, izrādās, ka konsekvences nekādas.

Wall4PHP

Wall4PHP v1.0. No more beta.

P.S. Nē, es neesmu pazīstams ar software development cikliem, nē es nelietoju versiju kontroles sistēmu, nē es neatceros, vai esmu izlabojis to un to bugu.

MySQL 5 un VIEW

Viens secinājums – iekš piektā MySQL (pagaidām?) VIEWi ir simboliski. Tie netiek optimizēti, kešoti, fonā reģenerēti, u.t.t. Žēl, jo šis ir viens no punktiem, uz kuru liku lielas cerības. Pagaidām atstājam crontabā low-priority-regenerate-views.php

MySQL 5.0

MySQL 5.0 laists tautās. T.i. – pagaidām viņi rekomendē 4.1, bet piedāvā produkcijas videi arī 5.0. Beidzot varēsim sākt ievērtēt tās lietas, kas MySQL no laika gala ir trūkušas, salīdzinot to ar citām enterprise līmeņa DBVS. Pagaidām es neizmantoju arī 4.1 versijas iespējas pilnā apjomā. Gaidīsim atsauksmes un pētīsim paši.

WALL 1.0 beta2

Reiz jau pieminētais projektiņš beidzot ir vairāk vai mazāk gatavs testēšanai plašās tautas masās. WALL4PHP. 1.0 beta2 ir galā. Tie, kas izmanto, laipni lūgtum testēt un raportēt par bugiem.

Izskatās, ka donācijas no pateicīgajiem ārzemju lietotājiem ir ļoti jauka padarīšana :)

MySQL rezerves kopija

Reiz arī Tev pienāks tā diena, kad MySQL rezerves kopijas izveide aizņems ilgu laiku, jo datubāžu un tabulu apjomi būs pieauguši. Un tad Tu sapratīsi, ka mysqldump, mysqlsnapshot u.c. aizņem pārāk ilgu laiku. Un arī datu failu kopēšana vairs nav drošs pasākums. Apstādināt serveri uz šo laiku arī nav prāta darbs.

Tad nu nāk talkā risinājums, kurš manām vajadzībām (DB apjoms jau sen ir mērāms gigabaitos un sistēmai nav pieļaujams downtime) ir kā radīts.

Jums taču ir backup serveris, ne? Ja nav, tad iegādājiet. Noderēs.

Uz tā uzlieciet MySQL. Nokonfigurējiet backupojamo serveri, kā replikācijas māsteri. Tas darās ar vienu-divām rindiņām iekš my.cnf. Uz backup servera esošu MySQL, savukārt, nokonfigurējiet kā replikācijas sleivu.

Un tad jau jūs varat veidot snapšotus, pilnos datubāzes dampus un citas štelles, izmantojot kā izejas materiālu informāciju, kura ir sleivā.

Pie kam, problēmu (atteices:) gadījumā ir iespējams ātri nokonfigurēt sleivu par māsteru.

Sākot ar MySQL 4.1 4.0 uz sleiva var palaist komandu LOAD DATA FROM MASTER. Tas tad, ja ir labs savienojums starp abiem serveriem un ir pieņemami read locki uz visām datubāžu tabulām. Pretējā gadījumā, kā jau minēju – jātaisa snapshoti. Tie arī ģenerēs read lockus, bet darīs to uz īsāku laika brīdi.

Papildināts. Gan LOAD DATA FROM MASTER, gan mysqlsnapshot ir problēmas, ja pirmajā reizē replicējamo datu ir daudz. Abās reizēs pārāk dikti nolokojas viss serveris. Mēģināsim vēlreiz vakarā.

P.S. Sorry. Viens ir vedējserveris, bet otrs – sekotājserveris. Un ir pilnās datubāžu izmetes, nevis dumpi. Un momentuzņēmumi, nevis snapshoti. Un dublējumi (dublējumserveri), nevis rezerves kopijas, vai backupi.

Casual thoughts

Tie, kas raksta tīru (X)HTML’u ir vai nu birkotāji (no to tag something, lai arī nav patiesi), vai marķētāji (no to markup something).

Skriptu veidotāji, kuri raksta iekš to PHP, vai kā cita tik pat interpretējama, ir scenārijotāji, vai scenāriju autori.

Specifiski par PHP. Weblapas ir risinājumi. Aplikācija. Skriptu kopums, kuri darbojas webservera vidē. To visu darbina PHP interpretators. To apskatīt var ar pārlūku. Teorētiski par korektu risinājumu var saukt ko tādu, kas strādā. Strādā tikai viss kopā. LAMP.

Python, Perl vai PHP? Kā intermediate starp backend un tā lietotājiem. Pieprasījumi un atbildes. Atskaites un statusi.

Safe deployment. Redundant un trustworthly risinājumi. Testi, testi, testi.

Tagad dīdos. Oracle vs MSSQL. Cena ir faktors. Performance arī. Advokātus nevajag. Vajag speciālistu aptauju. Head to head neder, jo tas pārvēršas balagānā. Grūti abstrahēties no preferencēm un tikt vaļā aizspriedumiem. Atzīt, ka nav pieredzes un aizvērt muti komentāriem, kas patiesībā ir tikai minējumi.

Brīžiem noķeru sevī domu, ka pietrūkst pieredzes. Bet esmu pārliecināts, ka izdosies. Bet tomēr ir bail.

Esmu izlasījis nenormālos kalnus ar case studies, technical specs, e-grāmatām, specifiskiem dokumentiem, idejām, plāniem, u.t.t. Tagad tas viss sāk lēnām līmēties kopā.

Patika teksts viena gara papīra beigās. Kaut kas līdzīgs šim: To glue it all together you need to sleep on it. Or, at least, – to sit on it in a loo. Then come back and read me again.

WALL 4 PHP

WURFL, WALL un manis rakstītais WALL 4 PHP. Pagaidām for testing only. Nav man vaļas rakstīt sīkāk – kas un kā, bet tiem, kurus varētu interesēt šāda līmeņa abstrakcija, varētu palasīt attiecīgo ievadu oriģinālā WALL lapā.

Mysql optimizācija

MySQL Optimization: part 1 un part 2. Abi raksti ir daļa no grāmatas MySQL Administrator’s Guide. Visai vērtīgs materiāls.

Google mMaim

Google mMaim

mMAIM stands for MySQL Monitoring And Investigation Module mMAIM’s purpose is to make a it easy to monitor and analyze MySQL servers and to easily integrate itself into any environment. It can show Master/Slave sync stats, some efficiency stats, can return statistics from most of the “show” commands and more.

WordPress

Varbūt jābeidz jāties un jāpāriet uz WordPress? Es tipa miljons gadus vēl turpināšu izstrādāt savu SPP. Ir šādas tādas kaitinošas lietas (kaut vai tas, ka vajag modificēt izejas kodu, lai slug’i normāli ģenerētos), bet visā visumā 1.5 ir daile…

Update. Daži uz ātru roku pamanīti mīnusi.

  • Neprot MySQL 4.1.x
  • Neprot PHP5 (nav jau nopietns mīnuss, bet tomēr…)
  • Veidojot statiskus rakstus pieprasa pārrakstīt .htaccess
  • Lai uztaisītu sakarīgus patstāvīgos linkus (post slugs), ja posta virsraksts ir latviski, jāpalabo izejas kods.
  • Ne es vienīgais esmu novērojis, ka izejas kods ir dikti jocīgs (lai neteiktu vairāk:) Funkcionalitāte kaut kāda ir, bet savas modifikācijas ieviest ir pagrūti.
  • L8n problēmas. T.i. – gribētos lokāļu atbalstu. Kaut vai tālab, lai Monday pārvērstos par pirmdienu.

One URI to rule them all #2

Labu laiku atpakaļ rakstīju par to, kā vairāk vai mazāk ideālā pasaulē būtu viegli dalīt dažādiem klientiem datus dažādos formātos. Izlēmu jums izsniegt mazu piemēru. Konkrēti, šī funkcija dala visus iekš XHTML un WML pārlūkiem.

Edzkur pati funkcija, bet testiem maziņš mysql dampiņš. Izmanto jamo apmēram šādi.

Protams, laiku pa laikam ar nožēlu atgriežos pie mūsu ideālās pasaules slēgtajām durvīm, kurā vairs nav WML pārlūku, bet visi jamie perfekti saprot CSS mēdijus (media="handheld", teiksim).

MySQL sux!!! :EEE

Heh. Mani aizvien vairāk fascinē tas, kā lielākā daļa t.s. IT profesionāļu noliek MySQL. Lēns, nav fīču, bugains, nestabils, u.t.t. Tad nu uzmetīsim actiņas dažiem šīs nestabilās datubāzes lietotājiem.

  • Lycos Europe – daļēji (paši stāsta, ka 90%) MySQL
  • Friend Finder Network – MySQL only
  • PriceGrabber.com – 100% MySQL
  • Yahoo! – Y! Finance, kā arī, ja atmiņa neviļ, liela daļa apakšprojektu ir iekš MySQL (tipa, 11. septembra in memorium, u.t.t.)
  • LiveJournal.com – 100% MySQL. Skaitām arī Sviesta Cibu.
  • Eniro – viens no Ziemeļeiropas komercuzziņu līderiem. Cik zinu no insaideriem, tur tiešām lielākā daļa pasākumu ir atrodami iekš MySQL.
  • CraigsList.com – viens no Interneta stūrakmeņiem. Faktiski abnormāla saišu, relāciju, un visādu citādu gudru herņu kaudze. MySQL lieto jau kopš pirmssākumiem.
  • Associated Press – ja pareizi sapratu no relīzēm, jamie izmanto MySQL savam pakalpojumam AP Hosted News.
  • Friendster – 100% MySQL
  • Flickr – 100% MySQL
  • Freshmeat.net – 100% MySQL
  • Slashdot – 100% MySQL
  • Wikipedia – 100% MySQL
  • Technokrati – 100% MySQL

Jā, iespējams šur tur esmu kļūdījies, uzskaitot, vai komentējot. Bet ideja ta skaidra. Neba nu šie ir vienīgie. Nu, tad kas tieši šeit liecina par to, ka MySQL ir sliktāks par jebko citu? Varbūt ir vērts tomēr nevis aurot par to, ka ņefiga, nevajag lietot MySQL, jo jamais smird, bet gan iečūzot raitos tūļus raitajam džobam.

« Senāki ieraksti Jaunāki ieraksti »