Mam taki pomysł, żeby kawałek oprogramowania, które robię przy okazji doktoratu wypuścić, by inni mogli z tego korzystać.
Program będzie działał następująco:
- Podłącza się go przez JDBC do istniejącego systemu baz danych i wskazuje bazy danych do optymalizacji.
- Program importuje model danych oraz statystyki takie jak liczba rekordów, zakresy wartości w kolumnach, histogramy itp.
- Wskazuje się plik zawierający zapytania, albo wpisuje się zapytania SQL ręcznie.
- Wciska się jeden przycisk, czeka trochę czasu i po chwili program wyrzuca listę wskazówek o tym, jakie indeksy i perspektywy trzeba założyć, jakie wyrzucić, które tabele warto popartycjonować lub sklastrować wg jakiegoś indeksu, które zapytania są złe (np. select * from tabela_na_milion_rekordów;).
- Opcjonalnie można zlecić programowi zastosowanie tych wskazówek - wtedy np. sam założy indeksy, poklastruje/popartycjonuje tabele itp.
Program będzie miał też tryb pracy jako demon i wtedy bezobsługowo będzie nadzorował pracę systemu i na bieżąco optymalizował bazy. Musi mieć oczywiście dostęp do logów, żeby wiedzieć, jakie zapytania idą.
Program ma być docelowo dostępny nie tylko dla odbiorców w Polsce.
Pytanie 1: jaką marketingowo chwytliwą nazwę temu czemuś nadać?
Pytanie 2: czy w ogóle pomysł jest dobry (od strony naukowej jest dobry i ciekawy, ale może to wcale nie oznacza, że ludzie bedą tego chcieli używać)?
Pytanie 3: jeśli tak, to jak zarobić na tym tyle, by przynajmniej by po doktoracie opłacało mi się to rozwijać?
Czy iść w open-source + komercyjny support, wziąć jakąś firmę do sprzedaży, czy jak? Przyznam, że robota jest 100 razy ciekawsza niż robienie w firmie kolejnego systemu 'enterprise' na potrzeby molocha jak powiedzmy Play czy Empik...
// Swoją drogą nie wiem, czy ten temat to bardziej do działu nietuzinkowe tematy, bazy danych, czy offtop; Przenieście, jeśli źle trafiłem ;)