Oracle, SQL Server, Microsoft Access, MySQL, DB2 czy PostgreSQL? Obecnie na rynku dostępnych jest wiele różnych produktów bazodanowych, co sprawia, że wybór platformy dla infrastruktury Twojej organizacji jest trudnym projektem.
Zdefiniuj swoje wymagania
Systemy zarządzania bazami danych (lub DBMS) można podzielić na dwie kategorie: komputerowe bazy danych i serwerowe bazy danych.
Bazy danych dla komputerów stacjonarnych są zorientowane na aplikacje dla jednego użytkownika i znajdują się na standardowych komputerach osobistych (stąd termin desktop).
Serwerowe bazy danych zawierają mechanizmy zapewniające niezawodność i spójność danych oraz są przeznaczone dla aplikacji wieloużytkownikowych. Te bazy danych są zaprojektowane do pracy na serwerach o wysokiej wydajności i mają odpowiednio wyższą cenę.
Dokładna analiza potrzeb, zanim zdecydujesz się na rozwiązanie bazodanowe, jest niezbędna. Proces analizy potrzeb będzie specyficzny dla Twojej organizacji, ale powinien przynajmniej odpowiedzieć na następujące pytania:
- Kto będzie korzystał z bazy danych i jakie zadania będą wykonywać?
- Jak często dane będą modyfikowane? Kto dokona tych modyfikacji?
- Kto zapewni wsparcie informatyczne dla bazy danych?
- Jaki sprzęt jest dostępny? Czy jest budżet na zakup dodatkowego sprzętu?
- Kto będzie odpowiedzialny za utrzymanie danych?
- Czy dostęp do danych będzie oferowany przez Internet? Jeśli tak, jaki poziom dostępu powinien być obsługiwany?
Po zebraniu odpowiedzi na te pytania będziesz przygotowany do rozpoczęcia procesu oceny konkretnych systemów zarządzania bazami danych. Może się okazać, że do spełnienia złożonych wymagań potrzebna jest zaawansowana platforma serwerowa dla wielu użytkowników (taka jak SQL Server lub Oracle). Z drugiej strony, komputerowa baza danych, taka jak Microsoft Access, może być tak samo zdolna do zaspokojenia twoich potrzeb (i znacznie łatwiejsza do nauczenia, a także łagodniejsza dla twojego portfela).
Komputery baz danych
Desktopowe bazy danych oferują niedrogie, proste rozwiązanie wielu mniej złożonych wymagań dotyczących przechowywania i manipulacji danymi. Zarabiają na swoją nazwę, ponieważ są zaprojektowane do działania na komputerach „stacjonarnych” (lub osobistych). Prawdopodobnie znasz już kilka z tych produktów – Microsoft Access, FileMaker i OpenOffice/Libre Office Base (bezpłatny) są głównymi graczami. Przyjrzyjmy się kilku korzyściom uzyskanym dzięki wykorzystaniu bazy danych dla komputerów stacjonarnych:
- Bazy danych dla komputerów stacjonarnych są niedrogie. Większość rozwiązań dla komputerów stacjonarnych jest dostępna za około 100 USD (w porównaniu do tysięcy dolarów dla ich kuzynów opartych na serwerach). Jeśli posiadasz kopię pakietu Microsoft Office, być może jesteś już licencjonowanym właścicielem programu Microsoft Access.
- Komputerowe bazy danych są przyjazne dla użytkownika. Dokładne zrozumienie SQL nie jest wymagane podczas korzystania z tych systemów (chociaż wiele z nich obsługuje SQL dla was, maniaków). Desktopowe DBMS zazwyczaj oferują łatwy w obsłudze graficzny interfejs użytkownika.
- Bazy danych dla komputerów stacjonarnych oferują rozwiązania internetowe. Wiele nowoczesnych baz danych dla komputerów stacjonarnych zapewnia funkcjonalność internetową umożliwiającą publikowanie danych w Internecie statycznie lub dynamicznie.
Serwerowe bazy danych
Serwerowe bazy danych, takie jak Microsoft SQL Server, Oracle, PostgreSQL i IBM DB2 o otwartym kodzie źródłowym, oferują organizacjom możliwość efektywnego zarządzania dużymi ilościami danych w sposób umożliwiający wielu użytkownikom dostęp do danych i ich aktualizowanie jednocześnie. Jeśli jesteś w stanie poradzić sobie z wysoką ceną, baza danych oparta na serwerze może zapewnić Ci kompleksowe rozwiązanie do zarządzania danymi.
Korzyści osiągane dzięki zastosowaniu systemu opartego na serwerze są zróżnicowane. Rzućmy okiem na kilka z bardziej znaczących osiągniętych korzyści:
- Elastyczność. Bazy danych oparte na serwerach poradzą sobie z niemal każdym problemem związanym z zarządzaniem danymi. Deweloperzy uwielbiają te systemy, ponieważ mają przyjazne dla programistów interfejsy programistów aplikacji (lub API), które umożliwiają szybki rozwój niestandardowych aplikacji zorientowanych na bazy danych. Platforma Oracle jest nawet dostępna dla wielu systemów operacyjnych, zapewniając ćpunom Linuksa równe szanse w połączeniu z ludźmi z Microsoftu.
- Potężna wydajność. Bazy danych na serwerze są tak wydajne, jak chcesz. Główni gracze mogą efektywnie korzystać z niemal każdej rozsądnej platformy sprzętowej, którą jesteś w stanie dla nich zbudować. Nowoczesne bazy danych mogą zarządzać wieloma szybkimi procesorami, serwerami w klastrach, połączeniami o dużej przepustowości i technologią pamięci masowej odporną na uszkodzenia.
- Skalowalność. Ten atrybut idzie w parze z poprzednim. Jeśli chcesz zapewnić niezbędne zasoby sprzętowe, serwerowe bazy danych mogą z wdziękiem obsłużyć szybko rosnącą liczbę użytkowników i/lub danych.
Bez alternatyw dla baz danych SQL
Wraz z rosnącą potrzebą organizacji do manipulowania dużymi zestawami złożonych danych - niektóre z nich nie mają tradycyjnej struktury - bazy danych „NoSQL” stały się bardziej rozpowszechnione. Baza danych NoSQL nie jest oparta na typowych kolumnach/wierszach tradycyjnych relacyjnych baz danych, ale raczej wykorzystuje bardziej elastyczny model danych. Model różni się w zależności od bazy danych: niektóre organizują dane według pary klucz/wartość, wykresów lub szerokich kolumn.
Jeśli Twoja organizacja musi przetwarzać duże ilości danych, rozważ ten typ bazy danych, która jest zazwyczaj prostsza w konfiguracji niż niektóre RDBM i bardziej skalowalna. Najlepsi rywale to MongoDB, Cassandra, CouchDB i Redis.