2012-11-20 13 views

Odpowiedz

11

Istnieje kilka powodów.

  1. Zabezpieczenia - jeśli użytkownik ma bezpośredni dostęp, może uzyskać wszystko z bazy danych. Dodatkowo będą mieć hasło do twojej bazy danych. W rezultacie, jeśli serwer SQL, z którego korzystasz, ma wadę, może go wykorzystać. Ponadto, jeśli twoje uprawnienia są źle skonfigurowane, możesz wyczyścić bazę danych.
  2. Prędkość - jeśli użytkownicy często korzystają z dużych zapytań, może on szybko i niepotrzebnie naruszyć system. Jeśli przejdziesz przez interfejs sieciowy, możesz go zdławić.
  3. Dostępność - zapytania internetowe są obsługiwane przez prawie wszystko. Wymaga specjalnych klientów do bezpośredniego dostępu do baz danych SQL.

Ale jeśli całkowicie ufasz swoim użytkownikom, dysponuj odpowiednimi bibliotekami/sterownikami, możesz zezwolić na bezpośrednie wysyłanie zapytań, a może być nawet trochę szybciej.

+2

Zwiększenie rozmiaru pamięci w phohe, czy zapisaliśmy bazę danych w telefonie komórkowym –

+0

Prawdziwym pytaniem dla mnie jest: Czy nie jest to takie samo z, na przykład aplikacją C# działającą w systemie Windows. Lepiej korzystać z usług internetowych, zamiast korzystać z połączeń bezpośrednich z tych samych powodów. Ale nie powinno tak być, musi być jakaś różnica. Jako programista korzystający z połączenia bezpośredniego albo robię to źle, albo istnieje różnica, której jeszcze nie zauważyłem. – ErTR

0

Powodem jest połączenie

Nie jesteś pewien, ile czasu trzeba będzie utrzymać to połączenie, jeśli jest stabilny, a jeśli nie zamierzamy stracił

drugie internecie -usługę są zoptymalizowane, aby pobrać informacje i pięknie je obsłużyć za pomocą standartów. Możesz także przechowywać informacje w pamięci podręcznej, aby zaoszczędzić swój DB

3

Jeśli twoja aplikacja łączy się bezpośrednio z serwerem bazy danych, musisz zakodować nazwę użytkownika/hasło, co jest bardzo niebezpieczne. Za pomocą niektórych narzędzi osoba atakująca może zdekompilować pakiet apk i uzyskać dostęp do nazwy użytkownika/hasła w ten sposób i połączyć się z bazą danych za pomocą odczytu (+ zapisu) bez korzystania z aplikacji.

0

Innym powodem nie do dostępu do bazy danych bezpośrednio

Problem Jeśli zmieniono architekturę bazy danych. masz dwa rozwiązania.

1 - w bezpośrednim dostępie musisz zaktualizować każdą aplikację kliencką
2 przy użyciu usługi, której potrzebujesz tylko do uaktualnienia usługi.

Powiązane problemy