All of the database-like features of AMPS are built from the ground up for AMPS. This includes content filtering, SOW topics, views, aggregates, topic joins, historical replay, and so on. The implementation is specifically designed and tuned for the way AMPS works and only provides the functionality used by AMPS. Because the functionality is written specifically for AMPS, this approach also improves performance and reduces resource usage.
AMPS does use SQLite for maintaining instance statistics. No other functions in AMPS use SQLite or depend on SQLite.
This didn't answer as to what DB does AMPS use for message storing?
Hi:
AMPS uses code and a data storage format that is unique to AMPS and optimized for exactly the functions that AMPS performs for storing messages in the SOW. (The included amps_sow_dump tool lets you see what's in the database, including the headers/metadata for the records.)
We're often asked whether AMPS uses another database product or format for storing SOW messages. The answer is "no" -- there's no other product or format involved.
Does that help?
So, What limits the total size of messages that can be stored in the AMPS instance? is it the total memory available on the server?
Eg : If I publish 30k messages daily of around 500 bytes without clearing any data, then How do I know till when will I be able to do so without overflowing AMPS memory?
AMPS can handle SOW databases much larger than the physical memory on the machine. For very large SOW databases, the performance will depend on the size, access pattern to the data, and the speed of the drives on the system if data that is much larger than memory is being accessed. The hard limit for AMPS SOW files is the storage on the device or operating system limits (such as the number of mmap'ed regions configured for the OS).
It sounds like you're looking for guidance on a specific application -- which we can handle much more easily through support in a discussion on your precise application needs and design.
Thanks for quick reverts.
We are just planning to use it in a small project where students are notified what their professors publish in a course they have subscribed for.Our systems are not resource intensive so I am doing an impact analysis on what all will we need for implementing such a scenario.
we have a development server on which ~10 GB space is left So, I was trying to foresee the impact AMPS will create when the system space gets full.
A good resource here for estimating space requirements is the Capacity Planning chapter in the User Guide: that chapter has general formulas for calculating the capacity required for a given volume and message size in a SOW.
Thanks for you guidance. I will check.