Stworzyłem system, który, mam nadzieję, będzie miał wielu użytkowników. Obawiamy się, że nasza baza danych zapełni użytkowników śmieci, którzy przyjmują nazwy użytkowników o wysokim zapotrzebowaniu, a może po prostu rejestrują się i nigdy nie wracają.
Wiem, że jest to powszechne, robię to sam, ponieważ mam 3 konta Google, ale używam tylko 1. W jaki sposób duża strona internetowa może zarządzać użytkownikami śmieci lub nigdy nie powróci takich użytkowników?
scalability
users
yozawiratama
źródło
źródło
Odpowiedzi:
Niektóre usługi usuwają konta, które nie widziały żadnej aktywności w określonym czasie, powiedzmy rok.
Inni nie przejmują się tym, że prowadzenie rejestru użytkowników w ich systemie to banalna ilość danych i kto wie, mogą wrócić.
Oczywiście, jeśli śledzisz, co użytkownicy robią z twoją usługą, usunięcie ich jest dość trudne. Albo będziesz musiał usunąć wszystko, do czego się przyczynili, albo znaleźć sposób, aby odłączyć to wszystko od swojego konta (co może nie być dobrym rozwiązaniem z różnych powodów, przypisania, problemów prawnych itp.) .
A jeśli użytkownicy faktycznie musieli płacić za treści dostępne za pośrednictwem tego nieaktywnego konta, usunięcie konta nie jest wcale dobrą rzeczą, ponieważ pozbawiasz ludzi rzeczy, na które faktycznie wydali dobre pieniądze (Linden Lab musiał zmienić swoje zasady jeśli chodzi o użytkowników Second Life z tego powodu, po pewnym czasie usuwali nieaktywne konta, ale musieli przestać to robić, gdy ludzie skarżyli się, że zostali pozbawieni inwestycji, i słusznie, gdy niektórzy ludzie powrócili po dłuższych nieobecnościach, na przykład z powodu tymczasowe umieszczenie za granicą (emigranci, wojsko itp.).
Najlepsze, co możesz zrobić, to nie zawracać sobie głowy. Drugim najlepszym rozwiązaniem byłoby usunięcie kont, które nie tylko nie widziały żadnej aktywności przez długi czas, ale także nie wniosły nic i nie miały z nimi nic wspólnego.
źródło
Dziwnie, Facebook lub Google mają tak wielu użytkowników, że nie stanowi to dla nich większego problemu.
Ktokolwiek wybrał naprawdę pożądaną nazwę użytkownika (np. „Frank”), prawdopodobnie zrobił to już w 2008 r. Wielu, wielu użytkowników, którzy teraz przychodzą i chcą spróbować, nigdy nie wracać, prawdopodobnie będzie musiało zadowolić się „Frank32183”. , a kiedy to zaakceptujesz, nie ma konkretnego powodu, dla którego nie zaakceptowałbyś równie dobrze „Frank32184” (nie każdy może mieć tyle szczęścia, że ma unikalne imię, jak ja!).
Innym czynnikiem jest to, że znane firmy z dużych zbiorów danych nigdy nie usuwają danych użytkownika, chyba że zarówno opinia publiczna, jak i sąd naprawdę, naprawdę pilnie im to nakazują, ponieważ dane użytkowników są ich modelem biznesowym. Możliwość powiedzenia „mamy 3 000 000 000 użytkowników” jest ważniejsza niż zapewnienie, że wszyscy są użytkownikami na żywo, ponieważ przyciąga więcej nowych użytkowników, lepiej gra z klientami reklamowymi itp. Utrzymanie zadowolenia użytkowników jest ważne dla firmy, ale nie tak bardzo ważne, aby utrzymać je na pierwszym miejscu.
W mniejszej, bardziej znanej sieci kompromisy mogą się różnić. Rzeczywiście, usunięcie danych bez śladu może być cennym unikalnym punktem sprzedaży ekskluzywnej platformy internetowej. Ale naprawdę duże firmy, które chcą mieć wszystkich na planecie jako swoich klientów, po prostu nie działają w tej przestrzeni.
źródło
Oddziel poświadczenia logowania od nazw wyświetlanych
Zezwalaj użytkownikom na logowanie się przy użyciu adresu e-mail lub istniejącego konta w witrynie, która zapewnia taką usługę (np. Google lub Facebook). Jeśli naprawdę chcesz, aby użytkownicy wymyślili nową nazwę użytkownika, to też działa.
Następnie przed dalszą interakcją z systemem (lub w ramach rejestracji) poproś użytkowników o wybranie wyświetlanej nazwy. Ponieważ ta nazwa jest niezależna od danych logowania, możesz ją odzyskać, jeśli użytkownik stanie się nieaktywny i będzie mógł, po powrocie, wybrać nową nazwę. Jako bonus możesz zezwolić użytkownikom na dowolną zmianę nazwy wyświetlanej.
To nie działa tak dobrze (ale nie jest wcale takie złe) w systemach, w których zapisujesz długoterminowe dyskusje między wieloma użytkownikami - przetworzenie rozmowy między garstką użytkowników może być trudne kilka miesięcy lub lat później, gdy dwa z nich stały się nieaktywne i straciły swoje wyświetlane nazwy (zastąpione odpowiednio przez
inactive user #123
i#186
), ale nadal odwoływały się do swoich starych nazw w tekście. Może również prowadzić do podszywania się pod użytkowników, choć istnieje wiele strategii zwalczania tego.To nie jest bardzo nowatorski pomysł. Przepełnienie stosu dokonuje separacji (choć nie sądzę, aby nazwy były kiedykolwiek odzyskiwane, a nawet unikatowe), kilka gier online również implementuje aspekt odzyskiwania.
źródło
Jest to raczej problem UX niż problem programowania.
Ale rozwiązanie jest proste: nie używaj nazwy użytkownika jako wyświetlanej nazwy. Zasadniczo każda duża usługa korzysta z tej metody: Stack Exchange, Google, Youtube, Steam, wszystko.
Ma to dwie główne zalety:
1) Użytkownicy mogą wybrać dowolną nazwę, nawet jeśli jest już zajęta. Zduplikowani użytkownicy zwykle nie powodują zamieszania, ponieważ użytkownicy zwykle mają awatary lub identyfikatory.
2) Bezpieczeństwo. Nie podajesz światu swojej nazwy użytkownika, nie prosisz ludzi o brutalne wyłudzenie konta.
źródło
Gdy konto będzie nieaktywne przez długi czas, wyślij im wiadomość e-mail z powiadomieniem, że jego konto zostanie dezaktywowane za kilka miesięcy. Po dezaktywacji wyczyść nazwę użytkownika i wyślij link resetowania pocztą e-mail.
Następnym razem, gdy użytkownik chce się zalogować, wybierz nową nazwę. Musi użyć linku resetowania, aby wybrać nową nazwę.
W ten sposób wszyscy użytkownicy mogą przechowywać swoje dane, ale w końcu udostępniane są bezczynne nazwy.
źródło