Hi James, My answers are inline...
On Sun, Sep 3, 2017 at 3:41 AM, James <[email protected]> wrote: > I am searching one solution to my case. I just found Apache Ignite > Yesterday. It appears a good solution. But I am not sure. I need your > suggestions. > > My data is stored in MySQL. It is TB level. I like to do the following: > 1. Load all data from MySQL into Ignite. > You should utilize IgniteDataStreamer [1] API to load data into Ignite. > 2. Run sql query to get all data to do some "group by" on number data to > calculate sum, avg, max, min etc. > You can do it in Ignite the standard client-server way. However, Ignite is a distributed system and a much more performant way would be to send computations to the nodes where the data is and run your logic locally on those nodes. [2] > 3. If I need to do some complex math operation, I like ignite to provide > some stored procedure so I can run it on Ignite side. > Ignite does not have stored procedures. Instead, you should use collocated computations. [2] > 4. I like to embed Ignite into my Java application. > This is easy. Ignite has a very rich Java API and comes with many Java examples. > 5. I just want to use One server to achieve above goal. > If you use just one server, then what would be the advantage over MySQL? Ignite brings the most value when you need to scale-out your application. I would consider at least 2 servers or more. [1] https://apacheignite.readme.io/docs/data-streamers [2] https://apacheignite.readme.io/docs/collocate-compute-and-data
