SharePlex - Quest Pol · 2016-05-30 · •SharePlex Manager ... Wycena tylko dla Oracle Enterprise Edition. Oracle Standard Edition Prod 2nd. 16 Zapewnienie wysokiej dostępności

Post on 11-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

SharePlexTM

Rozwiązanie proste, przystępne, bez wpływu na replikowaną bazę danych Oracle,

pozwalające na integrację w czasie zbliżonym do rzeczywistego.

3

Agenda:

• Omówienie

• Co wyróżnia narzędzie SharePlex?

• Wbudowana funkcjonalność (Embedded Utilities)

• Najważniejsze cechy

• Architektura produktu

• Przypadki zastosowania (Use case scenarios)

• Co produkt wyróżnia (Competitive differentiators)

4

Co to jest SharePlex for Oracle?

• SharePlex for Oracle jest rozwiązaniem jeszcze z czasów firmy Quest Software’s bazującym na replikacji opartej na logach baz danych Oracle.

• Jest to po prostu replikacja z Oracle’a działającego na jednym serwerze do Oracle’a i nie tylko na innym serwerze.

• To wszystko w czasie rzeczywistym!

• Do zarządzania tym wszystkim wykorzystywane są logi redo, poprzez czytanie każdej transakcji i przepuszczanie jej przez tcp/ip do maszyny/bazy docelowej.

5

Co czyni narzędzie SharePlex innym?

• W pełni zautomatyzowany i łatwy w użyciu

– Pobranie, instalacja i pierwsze użycie już w 15 minut

– Przyswojenie wiedzy poprzez 5 minutowy instruktaż filmowy

– Wiedza ekspercka dostępna w trybie 24x7 na portalu społecznościowym SharePlex Community zawierającym forum oraz blogi

• Wsparcie dla wielu platform (różnych i tożsamych)

– Uwzględnia edycje Oracle Standard i Enterprise, RAC, Exadata and Oracle 8i-12c

• Zawiera pełną funkcjonalność w przystępnej cenie

– Proste i elastyczne warianty licencjonowania (wieczyste lub terminowe)

• Uzyskanie skalowalności zarówno z wykorzystaniem RAC jak i bez niego

– Nie jest wymagane posiadanie narzędzi RAC Clusterware

6

Pełna funkcjonalność SharePlex – nie zwiększa jego kosztów!Kluczowa właściwość przy rozważaniu wyboru narzędzi do replikacji

SharePlex jest dostarczany z pełnym zestawem narzędzi potrzebnym do zarządzania i utrzymania replikowanego środowiska.

• Compare and Repair – porównywanie i naprawa– Weryfikacja integralności danych pomiędzy środowiskiem produkcyjnym a repliką

(źródłem i celem),

– Przy wystąpieniu rozbieżności w danych następuje ich synchronizacja.

• Sync Utility – narzędzie synchronizujące– Zbudowane na bazie rozwiązania export / import Oracle, pozwalające na wystąpienie

różnic lub przeprowadzenie ponownej synchronizacji,

– Obsługuje zmiany obiektów „w locie”.

• SharePlex Manager– Graficzny interfejs do monitorowania i zarządzania wszystkimi instalacjami SharePlex’a z

jednego miejsca,

– Zgłaszanie problemów.

7

Najważniejsze cechy SharePlex’a – proste, niezawodne, skalowalne

• W pełni zautomatyzowany,

• Prosty w użyciu,

• Zapewnia wysoką integralność danych,

• Niskie obciążenie replikowanego środowiska,

• Przystępny cenowo,

• Elastyczne wsparcie dla różnych typów danych,

• Elastyczne wsparcie dla różnych platform,

• Oszczędność czasu.

8

Redo/Archive logs

Architektura produktu SharePlex Oracle-to-Oraclelokalnie, zdalnie, w chmurze

Źródło

(System produkcyjny)

Kolejka eksportu

(Export queue)

Kolejka wyładowania

(Post queue)

SQL

Post

Post

System docelowy w chmurze

Capture

Read

Export Import

Kolejka przechwytywania

(Capture queue)Cel

(System docelowy)

9

PrzypadkiUżycia

10

Scenariusze wykorzystania SharePlex – bez narzutu i ograniczeń!lokalnie, zdalnie, w chmurze

11

Kiedy i dlaczego występuje potrzeba replikacji danych?

Na typowych bazach produkcyjnych

Przetwarzanie Transakcji On-Line (OLTP),

Uruchamianie dziennych raportów,

Uruchamianie strategicznych raportów biznesowych wykorzystujących systemy

Business Intelligence,

Wydobywanie informacji z hurtowni danych (Ekstrakcja danych), Transformacja

danych, Ładowanie danych (ETL)

Rezultat/Wynik

Walka o zasoby

Degradacja wydajności

Typowa baza produkcyjna

DzienneRaporty

StrategiczneRaporty BI

ETL

DWOLTP

12

Kiedy i dlaczego występuje potrzeba replikacji danych?

Na typowych bazach produkcyjnych

Poprawki baz danych, aktualizacja lub podniesienie wersji,

Poprawki lub aktualizacja systemu operacyjnego,

Migracja platformy (zwiększenie wydajności, pojemności nowej maszyny).

Problem

Zwiększenie wymagań biznesowych,

Zwiększenie zasobów osobowych i godzin pracy (24x7),

Zmniejszenie przestojów,

Poprawki, aktualizacja lub czas migracji wystąpienie przestojów

Poprawki,Aktualizacja lub Migracja

old new

13

Kiedy i dlaczego występuje potrzeba replikacji danych?

Baza produkcyjna - duża odległość od bazy DR

Zagrożenie terroryzmem (9/11),

Naturalna katastrofa (Trzęsienie ziemi),

Pandemia grypy (świńska/ptasia/ludzka),

Nieplanowane przestoje.

Problem

Obecne rozwiązanie wymaga dużej przepustowości,

Ryzyko pogorszenia wydajności serwera produkcyjnego lub ryzyko obniżenia

produkcji,

Może nie sprostać Recovery-Time-Objective (RTO) < 30 mins

Może nie sprostać Recovery-Point-Objective (RPO) < 1 min

Baza danych DR

Prod

DR

14

Kiedy i dlaczego występuje potrzeba replikacji danych?

Baza produkcyjna - duża odległość High-Availability – dwu kierunkowa

replikacja

Potrzeba dużej odległości przy zachowaniu aktualności danych (near real time),

Load-Balancing – zmniejszenie wpływu wydajności na pojedynczą instancję,

High-Availability & DR (Disaster Recovery).

Problem

Duża odległość ale dane w czasie rzeczywistym,

Różne platformy i wersje baz danych.

Potrzeba rozwiązania konfliktu danych przy replikacji punkt-punkt

Dwukierunkowa replikacja

Prod

Prod

15

Kiedy i dlaczego występuje potrzeba replikacji danych?

Niższe TCO (Total Cost of Ownership),

Z bazy Enterprise do Standard Edition

Raport z zasilenia.

Z bazy Standard do Standard Edition

Raport z zasilenia,

Disaster Recovery.

Problem

Natywnych narzędzi nie można uruchomić na wersji Standard,

Wycena tylko dla Oracle Enterprise Edition.

Oracle Standard Edition

Prod

2nd

16

Zapewnienie wysokiej dostępności oraz szybkiego odtworzenia po awarii

• Zapewnienie ciągłości działania przy jednoczesnym spełnieniu

wymagań SLA na poziomie 99,999 dla planowanych i

nieplanowanych przestojów.

• Dostarczenie alternatywnej kopii danych produkcyjnych w

przypadku awarii lub przestojów związanych z utrzymaniem

systemów.

• Zapewnienie pełnej dostępności produkcyjnej bazy danych (24x7).

• Zagwarantowanie wysokiego poziomu pracy użytkowników,

pozwalających uniknąć strat zarówno użytkowych jak i

wizerunkowych w przypadku utraty krytycznych danych.

• Wsparcie dla konfiguracji active-active (bi-directional, multi-

master) oraz active-passive (uni-directional).

17

„Przezroczyste” migracje, poprawki i aktualizacje

• Migracje pomiędzy wersjami aplikacji, wersjami baz

danych, zasobami dyskowymi, platformami sprzętowymi

lub czasami wszystkie jednocześnie.

• Redukcja czasu przestoju poprzez przełączenie

użytkowników na replikę systemu do czasu

przeprowadzenia migracji systemu produkcyjnego.

• Eliminacja ryzyka niepożądanego skutku po

przeprowadzonych zmianach poprzez powrotne

przełączenie użytkowników do systemu sprzed zmian.

Supports multiple dry-runs.

• Redukcja kosztów i błędów przez przeprowadzanie

zmian podczas pracy użytkowników.

18

Odciążenie systemu produkcyjnego od operacji raportowych

• Wywoływanie zapytań, raportowanie, zasilanie hurtowni danych lub

działanie systemów Business Intelligence może zostać uruchomione na

kopii systemu produkcyjnego lub jego części.

• Udostępnianie danych w trybie read-only i/lub read-write.

• Redukcja rywalizacji w dostępie do danych, ich śladów oraz

zwiększenie wydajności systemów produkcyjnych.

• Zapobieganie spadku wydajności w okresach sprawozdawczości

raportowej (raporty miesięczne, kwartalne, roczne – duże wolumeny

danych).

• Bezpośrednie korzyści biznesowe, niezwiązane bezpośrednio z pracą

systemu. Rozwiązanie może zostać osadzone na wersji Standard

Edition oraz w chmurze gdzie jako model SaaS w trybie 24x7 może

dostarczać danych systemom raportującym bez wpływu na bazę

produkcyjną.

19

Przetwarzanie rozproszone oraz wiarygodność danych

• Bazy danych są geograficznie rozproszone z

wykorzystaniem sieci WAN, LAN i Satelitarnej – wszędzie

po całym globie.

• Dystrybucja danych do różnych serwerów z jednoczesnym

utrzymaniem wszystkich kopii w bieżącej bazie danych.

• Kopie danych mogą pochodzić z różnych wersji baz

danych oraz mogą być inaczej indeksowane.

• Replikowana może cała zawartość bazy lub tylko jej część.

• Nie ma ograniczeń co do liczby baz docelowych.

20

Skuteczne i efektywne scentralizowane raportowanie i konsolidacja

• Konsolidacja magazynu/ów lub oddziałów może dostarczać

repliki danych w czasie rzeczywistym poprzez sieć LAN,

WAN, Satelitarną lub chmurę celem zasilenia centrali .

• Wsparcie dużych topologii zdalnych

biur/oddziałów/magazynów do replikacji i centralizacji

danych.

• Zasilanie centrali danymi może być kontrolowane przez

zarządzanie ich przepływem (start/stop) np. w czasie

rzeczywistym, co godzinę, raz dziennie, miesięcznie lub na

żądanie, kiedy będą potrzebne.

21

Skalowalność przez zrównoważenie obciążenia

• Replikacja danych w miejsce Real Application Clusters (RAC)

(Data replication in place of Real Application Clusters (RAC))

• Zastosowanie podczas rozwiązywania konfliktów wymagań

i/lub potrzeb biznesowych.

• Zapewnia najkrótszy z możliwych czas pracy awaryjnej,

który może być osiągnięty za pomocą dowolnej technologii

w środowisku sieci WAN. Provides the fastest possible fail

over time that can be achieved using any technology in a

WAN environment.

• Wszystkie kopie mogą pochodzić z różnych wersji baz

danych oraz posiadać inne indeksy.

22

Systemy kaskadowego pośrednictwa

• Zapewnia regionalną dystrybucję danych dozwolonych dla danej strefy i przechowywanie określonych danych.

• Replikacja danych na duże odległości i do jednostek nie połączonych bezpośrednio ze sobą.

• Nie jest wymagane oprogramowanie firmy Oracle jeśli jednostka stanowi tylko zasób magazynowy lub pełni rolę węzła pośredniczącego.

• Pozwala na przesłanie różnych danych do określonych lokacji bez przesyłania całych pakietów sieciowych do każdego punktu docelowego.

• Przenoszenie danych pomiędzy zabezpieczonymi serwerami (firewall) bez konieczności posiadania licencji Oracletransporting servers.

23

• Na potrzeby audytu i wyjaśnień.

• Śledzenie zmian dokonanych w określonym zestawie tabel.

• Zapisywanie wszelkich zmian, a w szczególności: user id,

timestamp, SCN, source row id, key values, transaction id,

operation type

• Zapisywanie informacji na temat przeprowadzonych zmian

zarówno na serwerze źródłowym jak i docelowym.

Śledzenie zmian - Change tracking

24

Integracja bliska czasu rzeczywistemu z wykorzystaniem mechanizmu przechwytywania zmian w danych (CDC - Change Data Capture)

• Integracja danych bliska czasu rzeczywistego z wykorzystaniem mechanizmuCDC umieszczającego przechwycone zmiany danych w kolejkach JMSzapewniając ciągłość dostarczania danych do innych systemówbazodanowych: (SQL Server, Sybase, DB2, Teradata, Netezza, Hadoop,Greenplum, and more)

– Strukturalne

– Niestrukturalne

• Pozwala odseparować systemy operacyjne od analitycznych bez wpływu nawydajność.

• Zapewnia dostęp do aktualnych danych praktycznie w czasie rzeczywistym.

• Umożliwia migracje baz Oracle’a do nowoczesnych platform.

• Pozwala przedsiębiorstwom na wykorzystanie nowych technologii hurtownidanych i Business Intelligence Allows enterprises to leverage new datawarehousing and business intelligence technology as it is made available

• Możliwość rozłożenia kosztów stosownie do potrzeb i rozwojuinfrastruktury.

Nowość w wersji 8.0!

33

SharePlex – Przykłady replikacji

34

Przykłady replikacji – podstawowe operacje

Sprawdzenie statusu SharePlex’a na systemie źródłowym i docelowym

status

35

Przykłady replikacji – podstawowe operacje

Sprawdzenie informacji na temat replikowanej bazy danych (źródło i cel)

orainfo

36

Przykłady replikacji – podstawowe operacje

Sprawdzenie statusu źródłowej i docelowej bazy danych

statusdb

37

Przykłady replikacji – podstawowe operacje

Sprawdzenie informacji na temat stanu procesów na systemie źródłowym i docelowym

show

38

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Wyświetlenie listy plików konfiguracyjnych

list config

39

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Utworzenie nowego pliku konfiguracyjnego (pustego) o nazwie test

create config test

Edycja istniejącego pliku konfiguracyjnego o nazwie test

edit config test

40

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie poprawności pliku konfiguracyjnego o nazwie test

verify config test

41

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Aktywowanie pliku konfiguracyjnego dla procesu replikacji o nazwie test

activate config test

42

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Tworzenie nowego pliku konfiguracyjnego test3 na bazie istniejącego o nazwie test (kopiowanie)

copy config test to test3

list config

43

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Przeglądanie zawartości aktywnego pliku konfiguracyjnego o nazwie test

view config test

44

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Zmiana zawartości tabeli źródłowej demo_src w schemacie splex

INSERT INTO SPLEX.DEMO_SRC (NAME, ADDRESS, PHONE#)

VALUES ( 'Ali Baba', 'Polna 46', '456-34-23');

COMMIT;

Sprawdzenie zmiany zawartości tabeli źródłowej demo_src

select * from splex.demo_src

Sprawdzenie zawartości tabeli docelowej demo_dest w schemacie splexbazy docelowej

select * from splex.demo_dest

45

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie przechwyconych zmian na bazie źródłowej

show capture

show capture detail

46

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie odczytanych zmian na bazie źródłowej (proces Read z pliku konfiguracyjnego)

show read

show read detail

47

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie przekazanych zmian z bazy źródłowej do docelowej (proces Export)

show export

show export detail

48

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie odebranych zmian z bazy źródłowej przez system docelowy (proces Import)

show import

show import detail

49

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie zasilenia zmianami bazy docelowej (proces Post)

show post

show post detail

50

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie postowanego SQL’a na bazie docelowej (target)

show sql

show sql detail

51

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie komunikatów po stronie systemu źródłowego (opóźnienia)

lstatus

52

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie komunikatów po stronie systemu docelowego (opóźnienia)

lstatus

53

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie zawartości kolejek po stronie systemu źródłowego (wiekowanie)

qstatus

54

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie zawartości kolejek po stronie systemu docelowego (wiekowanie)

qstatus

55

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Porównanie zawartości bazy źródłowej i docelowej zgodnie z ustawieniami pliku konfiguracyjnego test – uruchomienie zadania (job’a) na systemie źródłowym

compare using test

56

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie statusu zadania (compare) – na systemie źródłowym

job status

57

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie synchronizacji obiektów baz danych – na systemie źródłowym

show compare

58

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Zmiana zawartości tabeli demo_dest w schemacie splex bazy docelowej

UPDATE SPLEX.DEMO_DEST

SET NAME = 'Ala Baba',

ADDRESS = '',

PHONE# = ''

COMMIT;

Sprawdzenie zawartości tabeli docelowej demo_dest w schemacie splexbazy docelowej

select * from splex.demo_dest

59

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Ponowne porównanie zawartości bazy źródłowej i docelowej zgodnie z ustawieniami pliku konfiguracyjnego test

compare using test

60

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie synchronizacji obiektów baz danych – na systemie źródłowym

show compare

61

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Naprawa rozsynchronizowanych obiektów baz danych na bazie pliku konfiguracyjnego test – uruchomienie zadania naprawczego na systemie źródłowym

repair using test

62

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie wyniku naprawy (resynchronizacji) – na systemie źródłowym

job status

63

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie synchronizacji – na systemie źródłowym

show sync

64

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie zawartości tabeli w systemie źródłowym

select * from splex.demo_src

Sprawdzenie zawartości tabeli w systemie docelowym

select * from splex.demo_dest

65

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie zawartości tabeli w systemie źródłowym

select * from splex.demo_src

Sprawdzenie zawartości tabeli w systemie docelowym

select * from splex.demo_dest

66

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Dodanie nowej kolumny do tabeli źródłowej splex.demo_src – operacja DDL

ALTER TABLE SPLEX.DEMO_SRC

ADD (Miejscowosc VARCHAR2(30 CHAR) DEFAULT ‘Kraków’);

67

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie czy nowa kolumna została dodana do tabeli docelowej splex.demo_dest

select * from splex.demo_dest;

68

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie zasilenia zmianami bazy docelowej (proces Post)

show post

69

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie postowanego SQL’a na bazie docelowej (target)

show sql

70

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Wyłączenie procesów bazy docelowej (proces Import)

stop import

Sprawdzenie statusu systemu docelowego

status

71

Przykłady replikacji – podstawowe operacje - Pliki konfiguracyjne

Sprawdzenie statusu systemu docelowego

lstatus

72

SharePlex Manager

73

Dostęp HTTP

Server

Repozytorium

CelŹródłoŹródło

Cel

SharePlex Replikacja

SharePlex Monitoring

SharePlex Manager (GUI) diagram architektury

Adaptor

Zbieranie statystyk

Agent

74

SP_SYS_HOST_NAME

SP_COP_TPORT

OS USER/PASSWORD

• Po instalacji należy podać parametry infrastruktury SharePlex – tylko za pierwszym razem.

Ustawienia

75

• Wskaźnik

• Pozostały czas

Przegląd Instancji

76

• Procesy

• Kolejki

• Konfiguracja replikacji

Szczegóły Instancji

83

SharePlexWyróżniki

84

Wyróżniki w stosunku do konkurencjiDojrzała technologia: Ponad 1400 użytkowników, 24,000 instalacji, 350 instytucji

Oszczędność czasu

– Uproszczone zarządzanie

– Sprawdzona niezawodność

– Mniejsza złożoność

– Transparentność aplikacji

– Standaryzacja sprzętowa

– Use case discovery

Zwrot z inwestycji

– Niższa cena

– Niezrównane wsparcie

– Usługi eksperckie

Jakość inwestycji

– Wydajność i skalowalność

– Dokładność danych

– Naprawa danych

– Elastyczność

85

FunkcjonalnośćDisaster Recovery

Operational Reporting

High Availability

Migrations / Upgrades

Real-time CDC

Peer to Peer/Active to Active

Scalability / Load Balancing

Data Transformation

Data Warehousing / ETL

Monitoring/Management

Data Comparison

Data Repair *

Jedno, zintegrowane rozwiązanie.

Wiele przypadków użycia, ten sam produkt.

Nie ma potrzeby stosowania dodatkowych modułów.

Pojedynczy koszt licencji.

Pobranie i uruchomienie w 15minut.

Works with Oracle technologies.

Oracle GoldenGate

Veridata

Oracle Streams

Oracle Data Guard

Oracle RAC

Oracle DataIntegrator

OracleGoldenGate

Zbyt wiele produktów

Różne przypadki użycia = różne produkty

Niezintegrowane narzędzia

Mnogość licencji, wyższy koszt

Zwiększona złożoność

Management Pack for Oracle

GoldenGate

* SharePlex unique feature

Dlaczego SharePlex zamiast narzędzi Oracle?

SharePlexTM

Oracle Active Data Guard

86

SharePlex: zasilanie empower your real-time enterprise with 24-hour operations and dynamic business adaptability

ASEODBC

JMS Queue, SQL or XML File

Custom app

Other DB’s

87

Zagrożenia podczas migracji

• Migracja sytemu operacyjnego/zmiana dostawcy sprzętu

– Przeniesienie na nowe serwery (np. z Solaris’a do Linux’a),

– RAC lub środowisko zwirtualizowane.

• Migracja bazy danych Oracle

– Wygaśnięcie wsparcia dla starszych wersji – wygórowane koszty,

– Potrzebna nowa funkcjonalność dostępna tylko w nowych wersjach.

• Migracja magazynu zasobów (Storage)– Zamiana na nowsze/szybsze macierze dyskowe.

• Migracje aplikacji

– Aktualizacja aplikacji do nowszej wersji,

– Może wymagać zmiany sprzętu i/lub bazy danych,

– Dostarczanie kopii danych na inne platformy dla systemów analitycznych i BI (strukturalne, nie w pełni strukturalne, niestrukturalne).

top related