>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Unknown

Jak przestać wymyślać koło na nowo podczas pracy z SQL Server

Wyobraź sobie, że musisz szybko przetestować nową funkcję w bazie danych lub wdrożyć środowisko demonstracyjne dla klienta. Zazwyczaj zamienia się to w wyprawę: wymyślić strukturę tabel, wypełnić ją przynajmniej trochę realistycznymi danymi i nie zapomnieć o indeksach. Microsoft rozwiązał ten problem dawno temu, gromadząc wszystko, czego potrzebujesz do pracy z danymi w jednym miejscu.

Co to za repozytorium

Projekt sql-server-samples to oficjalna „piaskownica" Microsoftu. Zawiera nie tylko fragmenty kodu, ale pełnowartościowe przykłady dla całej linii Azure Data: od klasycznego SQL Server po Azure Synapse i SQL Edge.

Główną wartością są tutaj gotowe bazy danych i scenariusze. Jeśli dopiero zaczynasz uczyć się SQL lub chcesz zobaczyć, jak złożone funkcje takie jak In-Memory OLTP działają w realnych warunkach, to repozytorium zaoszczędzi ci dziesiątki godzin.

Do czego przydaje się ten zestaw

Repozytorium ma kilka kluczowych obszarów, z których każdy odpowiada na konkretne zadania programisty lub administratora bazy danych.

Gotowe bazy danych do każdego zadania

Zamiast pustych tabel otrzymujesz projekty wypełnione danymi. Najbardziej znane to:

  • Wide World Importers. Nowoczesny standard dla SQL Server 2016 i nowszych. Ma wszystko: od zwykłych transakcji (OLTP) po kostki analityczne (OLAP).
  • AdventureWorks. Klasyka, z którą wychowało się wiele pokoleń administratorów. Dostępna w różnych wariantach: od lekkich wersji po masywne hurtownie danych.
  • Northwind. Dla tych, którzy lubią wizualizować strukturę, w wydaniach znajduje się nawet diagram encji tej bazy danych.

Demonstracja wydajności

Jedna z najciekawszych sekcji to In-Memory OLTP Performance Demo. To gotowa demonstracja, która wyraźnie pokazuje różnicę w szybkości między zwykłymi tabelami a tabelami in-memory. Gdy musisz uzasadnić migrację do nowych technologii przed biznesem, takie liczby działają lepiej niż jakakolwiek prezentacja.

Scenariusze Internetu Rzeczy

Dla pracujących ze sprzętem jest IoT Smart Grid. To przykład tego, jak SQL Server radzi sobie z masywnymi strumieniami danych z czujników. Demonstruje cały cykl: od pozyskiwania danych po analizę w czasie rzeczywistym.

Jak z tym pracować

Repozytorium jest ogromne — ponad 500 MB. Klonowanie go w całości dla jednego skryptu nie ma sensu. Deweloperzy przewidzieli to i oferują sparse checkout. Pozwala to pobrać tylko potrzebne foldery.

Oto jak pobrać tylko funkcje i materiały demo:

git clone -n https://github.com/Microsoft/sql-server-samples
cd sql-server-samples
git config core.sparsecheckout true
echo samples/features/* >> .git/info/sparse-checkout
echo samples/demos/* >> .git/info/sparse-checkout
git checkout

Przy okazji, jeśli nie chcesz bawić się kodem i budowaniem, sprawdź sekcję Releases. Znajdują się tam gotowe pliki .bak i .bacpac. Możesz je po prostu wdrożyć na swoim serwerze w kilka kliknięć.

Praktyczne przypadki użycia

Często używam tych materiałów w dwóch scenariuszach. Po pierwsze, do szkoleń. Jeśli musisz wyjaśnić koledze, jak działą partycjonowanie lub indeksy Columnstore, łatwiej jest zademonstrować to na Wide World Importers niż rysować diagramy na serwetce.

Po drugie, to świetna podstawa do testów obciążeniowych. Zamiast generować losowy szum, bierzesz strukturę AdventureWorks i uruchamiasz na niej swoje zapytania. Daje to znacznie bardziej przewidywalne i realistyczne wyniki.

Repozytorium microsoft/sql-server-samples będzie przydatne dla:

  • Programistów, którzy potrzebują realistycznych danych do debugowania aplikacji.
  • Architektów studiujących najlepsze praktyki projektowania baz danych od twórców silnika.
  • Każdego, kto chce wypróbować Azure Synapse lub SQL Edge bez poświęcania czasu na konfigurację środowiska od zera.

To nie jest projekt, który będziesz studiować codziennie, ale zdecydowanie warto go dodać do zakładek. Gdy pojawi się zadanie optymalizacji lub migracji, podziękujesz sobie za to, że nie pisałeś generatorów danych ręcznie.

Powiązane projekty