Na świecie istnieje 634 mln stron internetowych (stan na grudzień 2012)

Kobiety znacznie lepiej radzą sobie w prowadzeniu sklepu internetowego niż mężczyźni

94% użytkowników smartfonów korzysta z lokalnych rekomendacji Google

W ciągu 60 sekund na świecie rejestrowanych jest 80 nowych domen

Najefektywniejszym dniem do realizacji kampanii e-mail marketingowej jest czwartek

Przeciętny człowiek wpatruje się w swój telefon średnio 34 razy dziennie

Najskuteczniejszą formą promocji sklepu internetowego oraz strony internetowej jest pozycjonowanie

Facebook ma każdego miesiąca 1 mld aktywnych użytkowników

80% stron internetowych posiada tło w jasnej tonacji kolorów

Prawie co drugi sklep internetowy prowadzony jest przez kobietę. Panie świetnie sobie radzą w tej dziedzinie.

W ciągu 60 sekund na świecie wysyłanych jest ponad 200 wiadomości email

43% osób posiadających smartfona planuje za jego pomocą podróże

48% osób uważa, że jeżeli strona nie wyświetla się dobrze na urządzeniach mobilnych to firmie nie zależy na klientach

W ciągu 60 sekund na świecie wyszukiwarka Google odnotowuje 2 miliony zapytań

Częste aktualizowanie strony internetowej ma bardzo korzystny wpływ na pozycjonowanie

17.4% wszystkich odwiedzin na stronach pochodzi z urządzeń mobilnych

Kwota jaką średnio wydaje użytkownik Internetu na zakupy w sklepach internetowych wynosi 250 zł

Najchętniej kupowane w sklepach internetowych są gry, sprzęt elektroniczny, filmy i muzyka, książki oraz odzież i obuwie

W robieniu zakupów w sklepach internetowych nieznacznie przeważają mężczyźni (54%)

Roczny koszt zwalczania cyberprzestępczości to 110 mld dolarów

Najpopularniejszą forma płatności w sklepach internetowych jest przelew bankowy, najmniej popularna jest płatność kartą płatniczą

Najczęściej wybieraną godziną do realizacji kampanii e-mail marketingowej jest godzina 8:00

Produkty trudno dostępne w sklepach internetowych to: leki, meble, bielizna, a w szczególności artykuły spożywcze

Do roku 2112, na Facebooku będzie ponad 750 milionów kont zmarłych ludzi

66% użytkowników tabletów i smartfonów uważa, że długi czas ładowania strony jest frustrujący

W Internecie również panuje moda. Dostosowanie wyglądu strony www do panujących trendów korzystnie wpływa na odwiedzających

Ponad 70% zapytań wpisywanych w wyszukiwarkach po godzinie 18:00 ma zabarwienie erotyczne

Dzięki zakupom przez Internet kupując kosmetyki zaoszczędzisz aż 18%. To najbardziej opłacalny produkt w Internecie.

Najczęstszym językiem programowania przy tworzeniu stron internetowych jest język PHP

70% internautów preferuje poznanie firm przez artykuł, a nie za pośrednictwem reklamy. Z tego wynika, że internauci nie ufają reklamom

Łączna wartość wszystkich sklepów internetowych w Polsce wynosi 5,33 mld zł

Sanepid może skontrolować sklep internetowy jeśli ten w swojej ofercie posiada artykuły spożywcze

Przeciętny użytkownik smartfona opuści stronę internetową, jeżeli ta będzie ładować się ponad 5 sekund

Najczęstszym system operacyjnym w Smartfonach Polaków jest Android (59%) a jako drugi iOS (38%)

W 2012 roku do wyszukiwarki Google wysłano 1.2 bln zapytań. Zakładając, że jest 6 mld ludzi na Ziemi każdy korzystał z niej 200 razy

2.1 mld ludzi na świecie korzysta z mobilnego Internetu

68,8% wszystkich wysyłanych wiadomości e-mail to spam

87% stron internetowych posiada własną wyszukiwarkę. Ułatwia to życie użytkownikom gdyż nie muszą przeszukiwać całej strony

Blisko 95% ludzi w Polsce korzysta z wyszukiwarki Google. Na drugim miejscu jest Bing z wynikiem 1.73%

W ciągu 60 sekund na świecie powstaje 571 nowych stron internetowych

Najpopularniejszą przeglądarką w Polsce jest Mozilla Firefox (41%), jako druga jest Google Chrome (29%) a trzeci jest Internet Explorer (16%)

55% transakcji przeprowadzanych w Internecie zaczyna się od wpisania frazy w wyszukiwarkę

69% użytkowników tabletów dokonuje za ich pomocą zakupów online przynajmniej raz w miesiącu

46% osób posiadających smartfona korzysta z bankowości mobilnej

Pewien człowiek nie został zatrudniony jako osoba sprzątająca ponieważ nie posiadał własnego konta e-mail

Obecne urządzenia mobilne posiadają aż 600 rozdzielczości ekranu. W roku 2012 było ich tylko 320

Rocznie ofiarą cyberprzestępstw pada 7 milionów Polaków - to 3 razy więcej niż zapada na grypę

Średnia prędkość Internetu to 2,3 Mbps co daje średni czas ładowania strony internetowej 6,7 sekund

24,3% z 10 tysięcy najpopularniejszych stron internetowych świata posiada integrację z Facebookiem

Jeżeli firma zatrudnia 100 pracowników, którzy odbierają dziennie 15 e-maili, to w ciągu jednego roku koszt spamu wynosi 46 500 zł

4 na 10 użytkowników sieci społecznościowych pada ofiarą cyberprzestępców

Tworzenie strony w oparciu o system CMS sprawia, że administracja taka stroną jest porównywalna do obsługi programu MS Word

W pierwszym kwartale 2013 roku Google Analytics rozpoznał aż 435 różnych modeli urządzeń mobilnych

W 2014 roku w Internecie pojawiło się 54 mln stron internetowych w tym 36 naszego autorstwa

67% osób posiadających smartfona robi zakupy online

Ponad 50% sklepów internetowych w Polsce prowadzona jest przez jedną lub dwie osoby

58% stron internetowych używa narzędzia Google Analytics do sprawdzania statystyk swojej witryny

Internauci chętniej robią zakupy w sklepach internetowych jeśli wysyłka jest całkowicie darmowa

85% osób uważa, że strony responsywne są równie ważne co strony desktopowe

W zeszłym roku ofiarą internetowych oszustw i ataków padło 45% internautów

81% osób posiadających smartfona przegląda na nim strony

Najczęstszą pozycją logo na stronie internetowej jest lewy górny róg. To właśnie tam najczęściej szukają go odwiedzający

W 2015 całkowita wartość rynku internetowego w Polsce osiągnie próg 77 mld zł, to aż 4,1% PKB

Na świecie jest ponad 2,2 mld użytkowników poczty e-mail, a w ciągu każdego dnia jest wysyłane 144 mld wiadomości e-mail

Tylko 14% stron internetowych widocznych w sieci używa technologii HTML5

10 najgorszych błędów popełnianych przy projektowaniu baz danych

przez: Studio Interaktywne Footstep Odsłony: 5669

tworzenie stron www optymalizacja stron mysql baza danych

Bazy danych w stronach internetowych

Baza danych jest podstawowym komponentem dla większości aplikacji internetowych. Jeżeli używasz języka PHP, prawdopodobnie używasz też baz danych MySQL - integralnej części LAMP.

PHP jest stosunkowo łatwym językiem i większość początkujących programistów może napisać działający kod w przeciągu kilku godzin. Ale zbudowanie solidnej, niezawodnej bazy danych wymaga sporo czasu i doświadczenia. Poniżej prezentujemy dziesięć najgorszych błędów popełnianych przy projektowaniu baz danych MySQL (niektóre tyczą się też innych baz).

1. Używanie MyISAM zamiast InnoDB

MySQL posiada kilka silników bazodanowych, ale w większości przypadków spotkacie się z MyISAM i InnoDB. MyISAM używany jest domyślnie. Jednakże, dopóki nie tworzycie bardzo prostych lub eksperymentalnych struktur, prawie zawsze MyISAM jest złym wyborem! MyISAM nie współpracuje dobrze z innymi silnikami, przez co jej integralność z danymi jest bardzo niska. Dodatkowo, cała tabela jest blokowana za każdym razem, kiedy wprowadzamy lub edytujemy rekord, co powoduje niekorzystny wpływ na wydajność podczas wzrostu użytkowania. Rozwiązanie jest proste - używać InnoDB.

2. Używanie funkcji 'mysql' w PHP

PHP obsługiwało biblioteki MySQL już od samego początku. Bardzo wiele aplikacji polega na mysql_connect, mysql_query, mysql_fetch_assoc itd., ale poradnik PHP twierdzi:

Jeżeli używasz MySQL w wersji 4.1.3 lub późniejszej, mocno zalecane jest aby używać rozszerzenia mysqli.

mysqli, lub jak kto woli ulepszone rozszerzenie MySQL (MySQL improved extension), posiada wiele zalet:

  • (dodatkowy) interfejs zorientowany obiektowo,
  • przygotowane protokoły (chroniące przed SQL-injection oraz zwiększające wydajność),
  • obsługa wielu protokołów i transakcji.

Alternatywnie, powinieneś rozważyć użycie PDO jeżeli potrzebujesz obsługi wielu baz danych.

3. Nie ufaj użytkownikom

To powinien być prawdopodobnie punkt #1: nie ufaj wprowadzonym danym. Sprawdzaj każdy ciąg znaków wprowadzonych przez PHP - nie polegaj wyłącznie na JavaScript. Najzwyklejsze wstrzyknięcie SQL wygląda tak:

$username = $_POST["name"]

$password = $_POST["password"];

$sql = "SELECT userid FROM usertable WHERE username='$username' AND password='$password';";

// ciąg dalszy...

Łatwo złamać zabezpieczenie wpisując admin'; -- w miejsce nazwy użytkownika. Wynik dla zapytania SQL będzie:

SELECT userid FROM usertable WHERE username='admin';

Przebiegły użytkownik zaloguje sie jako "admin", nie potrzebując nawet hasła użytkownika - potraktuje ten wymóg jako komentarz.

4. Nie używanie UTF-8

Na szczęście niewielu z nas ma ten zły nawyk, ponieważ większość stron czy też baz danych zawiera polskie znaki, dlatego wymogiem jest stosowanie UTF-8. Jednakże wiele stron obcojęzycznych używa innego kodowania znaków. Błędnym przekonaniem jest, że powinniśmy używać kodowania ISO 8859-2 - obowiązującym standardem w Internecie jest UTF-8 i powinniśmy się tego zawsze trzymać.

5. Wybieranie PHP ponad SQL

Jeżeli jesteś początkujący w MySQL, kuszące jest aby rozwiązywać swoje problemy w języku, który już znasz. Może to jednak powodować stosowanie niepotrzebnego, spowalniającego kodu. Przykłądowo, zamiast używać funkcji AVG() w MySQL, wielu ludzi używa pętli w PHP do obliczania średniej, sumując wszystkie rekordy.

Uważaj też na zapytania SQL wewnątrz pętli PHP. Efektywniej jest pierw odpalić zapytanie, a dopiero potem zapętlać wyniki zapytania. Podsumowując - wykorzystaj silne strony swojej bazy danych podczas analizy danych. Umiejętne wykorzystanie SQL to zawsze atut.

6. Brak optymalizacji zapytań

99% problemów z wydajnością PHP będzie spowodowane przez bazę danych, nawet pojedyńcze zapytanie może zasiać spustoczenie w aplikacji internetowej. W Internecie jest wiele narzędzi analizujących i optymalizujących nawet pojedyńcze zapytanie.

7. Używanie złego typu danych

MySQL oferuje do wyboru numeryczne, znakowe oraz czasowe typy danych. Jeżeli przechowujesz daty, użyj pól DATE i DATETIME. Użycie INTEGER lub STRING spowoduje, że zapytanie SQL będzie bardziej skomplikowane, a czasami nawet niemożliwe.

Kuszące jest, aby czasami wymyślać własne formaty dat, przykładowo, przechowując seryjne objekty PHP w ciągu. Zarządzanie bazą danych może być nawet wtedy łatwiejsze, ale MySQL będzie tylko głupim stosem danych, co może prowadzić w przyszłości do problemów.

8. Używanie * w zapytaniach SELECT

Nigdy nie używaj * aby zwrócić wszystkie kolumny w tabeli - to lenistwo. Powinieneś wybrać tylko te dane, które są naprawdę potrzebne. Nawet jeśli potrzebujesz wszystkich pól, nieuchronnie wpłynie to na tabelę.

9. Niewłaściwe indeksowanie

Jako generalna zasada, indeksy powinny być nadawane każdej nazwie kolumny przy warunkach WHERE zapytania SELECT. Dla przykładu, zakładając że mamy tabelę użytkowników z numerycznymi ID (najważniejszy klucz) oraz adresami e-mail. Podczas logowanai, MySQL musi zlokalizować wlaściwy ID szukając poprzez właśnie adres e-mail. Z odpowiednim indeksem, MySQL może szybko przeszukać algorytm i zlokalizować e-mail błyskawicznie. Natomiast bez indeksu, MySQL musi wertować każdy pojedynczy rekord dopóki nie znajdzie właściwego adresu e-mail. Kuszącym jest nadanie indeksu każdej kolumnie, jednakże są one generowane ponownie podczas wywołania INSERT lub UPDATE każdej tabeli. Może to podnieść wydajnośc, ale dodawaj indeksy tylko w odpowiednich sytuacjach.

10. Kopie bezpieczeństwa

Zdarza się to rzadko, ale bazy danych zawodzą. Przyczyny mogą być różne - awaria dysku twardego, wybuch serwera, firma hostingująca może zbankrutować. Utrata bazy danych jest katastrofą, także zabezpiecz się tworząc automatyczne kopie bezpieczeństwa w różnych miejscach.

BONUS 11. Nie branie pod uwagę innych baz!

MySQL są najpopularniejszymi bazami danych używanymi przez programistów PHP, ale nie są jedyną opcją. PostgreSQL oraz Firebird są największymi konkurentami - obie są open source i nie są kontrolowane przez żadną firmę. Microsoft udostępnia SQL Server Express a Oracle 10g Express - oba są darmowymi wersjami większych, płatnych odpowiedników. Nawet SQLite może być ciekawą alternatywą dla mniejszych, osadzonych aplikacji.

Uważasz, że pomineliśmy najgorsze lub najistotniejsze błędy w projektowaniu baz danych? Zapraszamy do dyskusji