30,000,000 items are all in all. Theres also a soft limit of 5,000 per view or folder where performance will degrade.
A list could also be partitioned using meta data navigation with managed meta data / taxonomies.
If you plan to use the data in a relational way, SQL server is a good choice. But since you talk about storing infopath documents it seems obvious to use one or more document libraries with appropriate meta data and views.
Also remember that for large lists you have data throtling, so keep that in mind if you plan on retrieving data from the list programmatically.