Pytanie ogólne
Jakie są różnice między algorytmami używającymi struktur danych a algorytmami korzystającymi z baz danych?
Jakiś kontekst
To pytanie mnie denerwuje od jakiegoś czasu i nie byłem w stanie znaleźć na to przekonującej odpowiedzi.
Obecnie pracuję nad pogłębieniem zrozumienia algorytmów, które oczywiście w dużym stopniu obejmują struktury danych. Są to podstawowe struktury, takie jak Torba, Kolejka, Stos, Kolejka priorytetowa i Sterta.
Korzystam również z baz danych na co dzień do przechowywania danych, które zostały przetworzone i przesłane przez użytkownika końcowego lub przetworzone przez program. Pobieram i przesyłam dane za pośrednictwem DAL, który ma własne struktury danych, które są generowane na podstawie tabel w bazie danych.
Moje pytania pojawiają się, gdy mam opcję sortowania danych za pomocą bazy danych, aby odesłać je do mnie w kolejności rosnącej / malejącej lub pobrać i załadować dane do mojej logiki, przetworzyć te dane w kolejce priorytetowej i sortować sterty wszystko. Innym może być wyszukiwanie rekordów za pomocą bazy danych zamiast ładowania ich podzbiorów i korzystanie z czegoś takiego jak wyszukiwanie binarne w celu znalezienia rekordu lub rekordów, którymi jestem zainteresowany.
Moim zdaniem starałbym się wykonać jak najwięcej operacji na końcu bazy danych przed wysłaniem, ponieważ komunikacja jest droga. To sprawia, że zastanawiam się, kiedy używasz algorytmów i struktur danych ściśle zdefiniowanych w ramach własnej logiki, a nie do przetwarzania danych w bazie danych?
Oto pytania ...
pytania
- Jakie są różnice między strukturami danych a bazami danych?
- Kiedy używamy algorytmów wykorzystujących struktury danych zdefiniowane wyłącznie w ramach własnej logiki, a nie bazy danych?
- @Harvey post: Kiedy metody w bazie danych stają się mniej wydajne w użyciu niż metody we własnej logice?
- @mirculixx post: Co sprawia, że metoda jest wydajna?
- @Harvey post: W jaki sposób przetwarzanie danych ze strukturami danych jest szybsze niż w bazie danych?
Wyjaśnienia
- @Grant post: Bazy danych, z którymi normalnie pracuję, są relacyjne i te pytania wynikają z ich pracy. Myślę jednak, że te pytania dotyczą wszystkich ram trwałości (kiedy mówię o ramach, mam na myśli je w najbardziej ogólnym znaczeniu).
Wiem, że odpowiedzi bez określonego kontekstu są trudne. Jedzenie do przemyślenia, porady lub punkty do dyskusji to przede wszystkim to, czego szukam i byłbym bardzo wdzięczny!