Nie proszę o opinie, ale o dokumentację.Procedura składowana lub kod
Mamy wiele plików danych (XML, CSV, Plantext, etc ...) i trzeba je przetworzyć, dane je kopną.
Główna osoba prowadząca bazę danych zaproponowała użycie procedury składowanej do wykonania zadania. Zasadniczo mamy tabelę pomostową, w której plik jest serializowany i zapisywany w klamrze lub kolumnie XML. Następnie stamtąd zasugerował, aby dalej korzystać z procedury przechowywanej do przetwarzania pliku.
Jestem programistą z db tłem, bardziej w rozwoju aplikacji, i mogę być stronniczy, ale użycie tej logiki w DB wydaje się złym pomysłem i nie jestem w stanie znaleźć żadnej dokumentacji do udowodnienia lub odrzucenia co mam na myśli, jako umieszczenie samochodu na torze pociągu, aby wyciągnąć ładunek.
Moje pytania brzmią: Jak dobrze funkcjonuje DB (Oracle, DB2, MySQL, SqlServer), gdy mówimy o wyszukiwaniu wyrażeń regularnych, wyszukiwaniu i zamianie danych w clob, dom traversal, rekursji? W porównaniu do języka programowania takiego jak Java, PHP lub C# w tych samych problemach.
Edit
Więc co szukam jest dokumentacja na analizie porównanie/wykonawczego określonego języka programowania porównać do DBMS, w szczególności do wyszukiwania łańcucha i zastąpić regularne wyszukiwania wyrażenie i wymienić. XML Dom Traversal. Wykorzystanie pamięci w rekursywnych wywołaniach metod. A w szczególności, jak dobrze skalują się po napotkaniu na 10 - 100 gigabajtów danych.
SP: s są dobre do selekcji i agregacji. Z łatwością stają się niepojętym bałaganem, gdy w grę wchodzi inne przetwarzanie (łańcuch, parsowanie, matematyka itd.). Czy wydajność jest naprawdę problemem? – adrianm
Utrzymanie nie jest jedną z moich obaw, ponieważ gdybyśmy mieli śledzić trasę używania SP, to nie utrzymuję systemu, DBA jest. Ale nie chcę stać bezczynnie, gdy widzę, że robi się coś głupiego, więc tylko dla mnie argument, który jest ważny dla niego, mogę zrobić to lepiej i bardziej wydajnie, ponieważ zmienna utrzymania bierze moje równanie. – Churk
"eksploracja danych" jest terminem bardzo przeładowanym. Może to oznaczać wszystko, od średnich obliczeniowych do złożonych metod statystycznych $ O (n^3) $ lub gorszego środowiska wykonawczego. Proszę bardziej precyzyjnie. Ponieważ niektóre rzeczy będą oczywiście łatwe do wykonania przy użyciu procedur przechowywanych. Inne będą uciążliwe w ten sposób! –