Twój oryginalny projekt oparty jest na zdrowych zasadach. Jeśli to pomoże w Twojej sprawie, ta strategia jest znana jako horyzontalne partycjonowanie lub sharding . Zapewnia:
1) Większa skalowalność — ponieważ każdy fragment może w razie potrzeby działać na osobnym sprzęcie.
2) Większa dostępność — ponieważ awaria jednego fragmentu nie wpływa na inne fragmenty
3) Większa wydajność - ponieważ przeszukiwane tabele mają mniej wierszy, a tym samym mniejsze indeksy, co zapewnia szybsze wyszukiwanie.
Sugestia Twojego kolegi przenosi Cię do pojedynczego punktu konfiguracji awarii.
Jeśli chodzi o twoje pytanie dotyczące 3 pul połączeń o rozmiarze 10 vs 1 puli połączeń o rozmiarze 30, najlepszym sposobem rozwiązania tej debaty jest benchmark. Skonfiguruj swoją aplikację na każdy sposób, a następnie wykonaj testy warunków skrajnych za pomocą ab (Apache Benchmark) i zobacz, który sposób działa lepiej. Podejrzewam, że nie będzie znaczącej różnicy, ale wykonaj test porównawczy, aby to udowodnić.