Mysql optimalizations and how to remove them/W jaki spos贸b uodporni膰 si臋 na „optymalizacje” mysql.

Hej / Hi.

I found great post on Etsy tech blog about miscellaneous misbehaviours that mysql server applays to data and queries.聽 They wrote about:

  • silent data truncation
  • default value problems
  • group by and select columns

Only missing thing is DATE/DATETIME explanation.

They also show how to test big database alterations. They use tcpdump to capture all queries to production server and then just reply them on test enviroment. This, combined with Access Log, can help you pinpoint bad queries.

I strongly recommend: http://goo.gl/sCcipb

Na blogu technologicznym Etsy pojawi艂 si臋 ciekawy wpis dotycz膮cy tego w jaki spos贸b uodporni膰 si臋 na problemy jakie stwarza mysql. Omawiane s膮 mi臋dzy innymi:

  • ciche przycinanie zbyt d艂ugich ci膮g贸w znak贸w
  • problemy z default
  • pobieranie niezgrupowanych kolumn

Jedyne czego brakuje to informacji聽 o tym co zrobi膰 z kolumnami typu DATE/DATETIME.

W po艣cie tym pokazane jest r贸wnie偶 w jaki spos贸b mo偶na testowa膰 powa偶ne zmiany na bazie danych. Autorzy opisuj膮 nast臋puj膮c膮 metodologi臋: tcpdump zbiera wszystkie zapytania wysy艂ane do produkcyjnego serwera a nast臋pnie s膮 one odtwarzane na testowym serwerze. W ten spos贸b mo偶na (powi膮zuj膮c z informacjami z Access Log) wykry膰 wszystkie zapytania kt贸re mog膮 powodowa膰 b艂臋dy.

Polecam przeczyta膰: http://goo.gl/sCcipb

17 maja 2013 12:09 Grzegorz Drozd Brak komentarzy Komentuj Kategorie: Bez kategorii

Po艂膮czenie sql z memcache

Kolejny dzie艅 – kolejna nowa technologia. Okazuje si臋, 偶e u偶ywaj膮c wewn臋trznych API mysql oraz mo偶liwo艣ci wtyczek tego serwera mo偶na utworzy膰 wtyczk臋 kt贸ra uruchomi demona kt贸ry b臋dzie, u偶ywaj膮c tego wewn臋trznego api, zwraca艂 odpowiedzi na pytania zadane w formie select * from <tabela> where PrimaryKey = :warto艣膰. Wi臋cej poni偶ej.

Czytaj…

8 marca 2013 00:08 Grzegorz Drozd Brak komentarzy Komentuj Kategorie: Bez kategorii

Generowanie unikalnych ID w 艣rodowiskach rozproszonych w PHP

Znalaz艂em fajn膮 bibliotek臋 do generowania unikalnych ID w 艣rodowiskach rozproszonych podobnie jak robi to Twitter i ich SnwoFlake ale napisan膮 w PHP. Biblioteka u偶ywa zookeepera oraz ZeroMQ do synchronizacji ale mo偶na to 艂atwo obej艣膰 zmieniaj膮c zale偶no艣膰 na sztywno np na MAC adres serwera. Oto link do biblioteki: https://github.com/davegardnerisme/cruftflake

17 listopada 2012 21:11 Grzegorz Drozd Brak komentarzy Komentuj Kategorie: Bez kategorii

Co zrobi膰 gdy PHPUnit wykrzaczy si臋 podczas automatycznego budowania do test贸w?

Na ciekawy pomys艂 wpad艂 bloger o ksywce edorian. Przygotowa艂 on prosty skrypt w bashu kt贸ry tak d艂ugo wywo艂uje phpunit a偶 ten si臋 wykona. Proste i skuteczne. Ale my艣l臋, 偶e przyda艂aby si臋 p臋tla z ograniczeniem np do 10.
Link do postu: http://edorian.posterous.com/dealing-with-segfaults-while-phpunit-code-cov

7 stycznia 2012 01:09 Grzegorz Drozd Brak komentarzy Komentuj Kategorie: Bez kategorii, PHP