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