@programista5k2: Po pierwsze załóż bazę Configuration, która będzie przechowywać zmiany, logi, i wszelkie dane, które nie podlegają dosłownej integracji a są np z góry ustalone, zidentyfikowane. Następnie w tej bazie stwórz schematy typu log, data, dics itd itd. Nie pytaj się o nazwę tylko pomyśl jak miałaby wyglądać cała struktura tak aby Tobie to ułatwiło pracę.
  • Odpowiedz
Potrzebuję zrobić #hurtowniedanych w #sqlserver ale jako narzędzie do #etl służy mi #spark, a konkretnie #pyspark

Macie może jakieś dobre materiały albo przykładowe kody, żeby podejrzeć jakieś dobre praktyki?

Jak ogarnąć slow changing dimension? Metadane itp.?
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@inny_89: Z doświadczenia to całe zasilanie powinno się odbywać w dwóch krokach Source - Extract, Extract - Stage. Oczywiście mówię o hurtowni zasilanej raz na dobę nocną porą.

1. Source - Extract - truncate docelowych tabel i zasilenie ze źródła. Tak jest najszybciej. Nawet jak masz tabele do 100 mln rekordów. Z produkcji zasilamy dane tak szybko jak to jest możliwe.

2. Extract - Stage - zasilenie przyrostowe. I tu już można
  • Odpowiedz
#anonimowemirkowyznania
#sql #pomocy #porada
Cześć,
muszę napisać z anonima, żeby mnie nikt nie skojarzył.
Obecnie skończyłem inżyniera z mechaniki. Studia fajne, ale nie umiem nic ciekawego sobie znaleźć. Pracuję obecnie w firmie, zajmuję się specyfikacjami technicznymi urządzeń i kontaktem z klientem (zagranica). Robota niby całkiem okej, ale brak nowych wyzwań powoduje u mnie nudę.
Chciałbym się z czegoś przeszkolić, poszukać sobie innego zajęcia, które spowoduje, że znajdę
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@AnonimoweMirkoWyznania: Obie drogi jakie rozważasz mogą być potencjalnie tak samo nudne jak to co teraz robisz. Sam robie w bazadanych ale jakoś administrator/helpdesk i tu jest jeszcze jakaś rozrywka bo nigdy nie wiesz na co klient wpadnie.
W mechanice może warto abyś rozejrzał się za jakimś projektowaniem - znajomy pracował w Instytucie lotnictwa w centrum projektowym dla GE i co kilka mce wyjazdy albo Anglia albo RPA(mieli kontrakty na instalacje
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@rosso_corsa: jak Warehouse obsługuje ten sam typ bazy danych to można próbować bez narzędzi, ale jak masz różne to pisanie narzędzia na nowo jest bez sensu. Wybierz jakieś gotowe
  • Odpowiedz
Siema powie mi ktoś co robi tu źle że wywala mi blad "Foreign key constraint is incorrectly formed". Idproducenta ma byc kluczem obcym powiazanym z id z tabeli producenci

ALTER TABLE produkty
ADD FOREIGN KEY (id_producenta)
REFERENCES producenci(id);

#sql #bazydanych
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sql #bazydanych #programowanie #postgresql
Próbuję wdrożyć pagination oparty na metodzie „keyset”, zamiast tradycyjnie „offset”.
Wszystko jest jasne dopóki strony idą do przodu np:
SELECT * FROM users WHERE id > 1500 ORDER BY ID LIMIT 10.
Ale co zrobić gdy użytkownik się cofa? Teoretycznie mogę odwrócić znak większości i zmienić DESC na ASC, ale wtedy otrzymuję wyniki w odwrotnej kolejności. Da się to
Alodnog - #sql #bazydanych #programowanie #postgresql 
Próbuję wdrożyć pagination opa...

źródło: comment_1611067419eLX7l6HWdpi5hdPRa7JQng.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Campell: W sensie jak pójść w tył? Ja tylko w tym moim WHERE zaznaczam granicę od której liczyć rekordy, więc jeśli chciałbym się cofnąć to mógłbym zrobić WHERE id < 1500 ORDER BY id ASC LIMIT 10. I to zadziała, zwróci mi 10 właściwych rekordów, ale w odwrotnej kolejności niż bym szedł do przodu
  • Odpowiedz
@Alodnog: Wybierz interesujące Cię rekordy ze strony w podzapytaniu i tam zrób asc/desc jak tam chcesz, a w nadrzędnym zapytaniu posortuj jeszcze raz po tym czym chcesz czyli po id. np.

select * from (
select SELECT * FROM users WHERE id < 1500 ORDER BY ID DESC LIMIT 10
) as pusr
order by pusr.id asc;
  • Odpowiedz
@ostrykuc666: hmm bo wydawalo mi sie ze kiedys wrzucalem na oś x dzien z hierarchii, wybieralem filtry na rok, miesiac, dzien i mi robilo wykres godzinowy na wykresie liniowym ale teraz patrze ze cos mi to nie dziala wiec zrobie tak jak mowisz, dzieki!
  • Odpowiedz
Mam setki GB do przeniesienia. Zakładam, że długie ścieżki i nazwy plików z niedozwolonymi znakami mogą stworzyć problemy.
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@zlack: migracja 1 do 1 zapewne nie ma sensu. Zbuduj sobie funkcjonalność bibliotek ma Sharepoincie, Teams Grupa office 365 per dział / projekt i pliki wrzucasz tam
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Mam proste zapytanie SQL, zwykły select z 3 warunkami. Na końcu jest sortowanie, i obcięcie wyników do kontretnej ilości za pomocą LIMIT. I wszystko jest ok, dopóki nie zmienię warunku w taki sposób, aby rezultatem było 0 wierszy. Wtedy czas trwania zwiększa się z 0.01s do ponad 20sekund. Usunięcie limitu sprawia, że zapytanie wykonuje się tak szybko jak przed zmianą warunku i z zachowaniem limitu. Czyli:
-select zwracający 100 rekordów i obcięty
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bomba4: Nie wiem jak do końca działa limit w mysql ale najwidoczniej liczy rekordy podczas wykonywania zapytania co może faktycznie orać optymalizację. Z uwagi, że limit 0 podejrzewam, że liczy każdy rekord jaki zapytanie wypluwa, jeden po drugim.

Operowanie na zapytaniu zagnieżdżonym ustala już konkretną ilość rekordów i na końcu ogranicza. Jest to szybsze dla silnika. W prawie każdej swojej procedurze w pracbazie wykonuję takie zagnieżdżenia albo korzystam z tabel
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@thomekh: tylko tu nie chodzi o limit 0, tylko o sytuację kiedy masz 2 zapytania sqlowe które różnią się jednym warunkiem. Pierwsze zapytanie (bez limitu) zwraca 100 rekordów, a drugie 0. Oba się wykonują w ciągu 0.01s. Następnie do obu dopisuje Limit 10, i to pierwsze nadal się wykonuje 0,01 a to drugie już 22s

Ogarnąłem to tak jak pisałem, ale i tak jest to dla mnie dziwne. Sam limit
  • Odpowiedz
chcę po przeniesieniu z tabeli order do oldorders, aby przeniesione pola zostały usunięte w tabeli order. Ktoś pomoze?
INSERT INTO old
orders (name)
SELECT name
FROM orders WHERE id=$id");
#bazydanych #mysql #sql
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#xml #bazydanych

XML ma zdefiniowaną strukturę logiczną oraz fizyczna..
A więc, co jest logiczne w tym przykładzie a co fizyczne?

Belgian Waffles
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#bazydanych

Załóżmy mam hierarchiczny model BD oparty o XML.. W tym dokumencie mamy po prostu jakieś info o 10 pracownikach.. Tak jak sobie mogę wyobrazić zarządzanie BD relacyjną dzięki np Oracle, to jak wyglądałoby zarządzanie czymś takim w XMLU?
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Panowie bazodanowcy jak to jest, że wynik kwerendy otrzymuję od razu a query executed time wskazuje na kilkadziesiąt sekund? Może z pozoru banalne pytanie, ale proszę o wytłumaczenie
#sql #bazydanych
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@lewsky: może łatwiej się im to parsuje, key może być nested key czyli np: user.balance.amount i trzyma sie to tego w jaki sposob definiuje sie inne operacje a tak to nagle z czaby bys miał wyjatek i array ?
  • Odpowiedz
@programista4k: typem zwracanym powinna być lista - [Fren!]!

Co rozumiesz przez "jak zwrócić"? To już musisz samodzielnie zaimplementować, bo to co podałeś to tylko schema
  • Odpowiedz
@Zavis: no wlasnie, jusz znalazłem, że tak trzeba, ale coś się wywala na springu "grahql.tools.SchemaParser"i nie wiem czo i płaczę

type Query {
frens: [Fren!]!
}

com.coxautodev.graphql.tools.FieldResorlverError: No method or field found with any of the following singatures
  • Odpowiedz