Skip to main content Skip to docs navigation
Benchmark IT Solutions
Back to all case studies

Case studyGeoAnalytics

Rebuilding a geospatial risk platform to move from 200,000 to 2.5 million data points, without slowing down.

Industry
Insurance
Headquarters
NYC, United States
GeoAnalytics
2.5M
Data points supported
Key Metrics Measured after
rollout
0x
Data Capacity
0%
Faster Imports
0%
Lower Latency
Background

A geospatial risk platform outgrowing its own foundation.

GeoAnalytics is a pioneering provider of geospatial data analytics solutions, dedicated to delivering advanced tools for visualizing, analyzing and managing risk and location-based data.

Serving industries such as insurance, finance and real estate.

GeoAnalytics empowers organizations to make data-driven decisions using high-resolution geospatial data, optimize asset management and mitigate risk.

Prior to partnering with Benchmark IT Solutions, GeoAnalytics initially relied on freelancers but faced challenges in achieving consistent technical performance and scalability.

Frequent system breakdowns, unstable releases and slow support impacted their ability to handle large datasets effectively for a growing customer base.

Seeking a solution to improve application stability, enhance scalability and provide timely support, GeoAnalytics partnered with Benchmark IT Solutions to transform their platform into a reliable, high-performance solution that could seamlessly meet customer demands.

Background
Insurance
NYC, United States
Challenges faced & defined solution

4 real bottlenecks. 6 matching fixes.

Every operational bottleneck reported was matched to the workstream(s) that resolved it.

The challenge

Scalability and Performance Limitations

The current architecture supported up to 200,000 data points but needed to scale to handle 2.5 million data points with low latency. High processing times and data import delays also limited user interactions and timely data availability.

Defined solution

Scalable and Optimized Data Handling

GeoAnalytics adopted a distributed architecture to improve scalability and performance by replacing the Java Stream API with optimized batch processing and enhancing Geoserver with load balancing and middleware for efficient batch API handling. These upgrades reduced response times and boosted data processing efficiency.

Enhanced Tile Rendering and Client-Side Optimization

The platform was optimized for improved map interactions by converting raster tiles to vector tiles using Mapbox Studio, reducing data size and improving render speeds. Client-side rendering with Mapbox GL JS enabled fast, smooth interactions, greatly enhancing the user experience.

The challenge

Inefficient Data Import and Batch Processing

Import processes required significant optimization, with current processing times extending to several hours for large datasets. The Java Stream API used for batch processing limited efficiency, necessitating a more parallelized approach.

Defined solution

Data Import Optimization with Real-Time Processing

GeoAnalytics accelerated data imports with a parallel processing framework using Java’s Fork/Join and integrated Kafka for real-time data ingestion, supporting immediate data availability and faster processing times.

The challenge

System Bottlenecks and Single Points of Failure

Core components, including Geoserver, RabbitMQ, and the Tomcat application server, were single points of failure, resulting in response delays and system bottlenecks during peak data demands, limiting uptime and user access during critical times.

Defined solution

Load Balancing and Microservices for Improved Resilience

Transitioning to a microservices-based architecture, GeoAnalytics scaled RabbitMQ with additional consumers and implemented NGINX load balancing for efficient request distribution, supporting seamless scaling and resource management.

Advanced Monitoring and Maintenance

Real-time monitoring through Prometheus and Grafana provided insights into system health and performance. Automated alerting enabled proactive issue detection, ensuring consistent uptime and efficient troubleshooting.

The challenge

Caching and Data Loss on Restarts

The in-memory caching approach lacked persistence, leading to data loss during restarts and limiting scalability. A scalable, distributed caching solution was essential for reliable data storage and retrieval.

Defined solution

Persistent and Distributed Caching

Redis was integrated as a distributed caching solution to ensure data persistence, prevent data loss during restarts and reduce latency. This scalable solution supports reliable data storage, improving both performance and scalability.

The Impacts

Real, measurable improvements in scale, speed and reliability.

Scalable Infrastructure

Optimized to handle up to 2.5 million data points with minimal latency.

Faster Data Availability

Automation reduced data import times by 75%, ensuring quicker access.

Reliable Performance

Distributed caching and load balancing improved system resilience.

Enhanced User Experience

Optimized rendering and interactive maps delivered seamless interactions.

Ready to take your business on the
path of success?