SQLite debe ser capaz de manejar esta cantidad de datos. Sin embargo, puede que tenga que configurarlo para permitir que crezca a este tamaño, y no debe tener esta cantidad de datos en una instancia "en memoria" de SQLite, solo en principios generales.
Para obtener más información, consulte this page que explica los límites prácticos del motor SQLite. La configuración de configuración relevante es el tamaño de página (normalmente 64 KB) y el recuento de páginas (hasta un valor máximo de int de 64 bits de aproximadamente 2.100 millones). Haga los cálculos, y toda la base de datos puede ocupar más de 140TB. Una base de datos que consta de una sola tabla con 700m filas sería del orden de decenas de gigs; facilmente manejable
Sin embargo, solo porque SQLite PUEDE almacenar esa cantidad de datos no significa que DEBERÍA. El mayor inconveniente de SQLite para las grandes áreas de almacenamiento de datos es que el código SQLite se ejecuta como parte de su proceso, utilizando el hilo al que se lo llama y ocupando la memoria en su entorno limitado. No se obtienen las herramientas disponibles en los DBMS de servidor para "dividir y conquistar" grandes consultas o áreas de almacenamiento de datos, como la replicación/clustering. Al tratar con una tabla grande como esta, la inserción/supresión tomará mucho tiempo para colocarla en el lugar correcto y actualizar todos los índices. La selección PUEDE ser habitable, pero solo en consultas indexadas; una página o una exploración de tabla te matará.
La portabilidad está sobrevalorada. – jason