Based on the comment thread, it looks like you have constrained yourself to avoid the "bulk"-type data import features in the SFDC Platform. That is, you've ruled out the Bulk API, Data Loader, and presumably, the SOAP API.
This leaves with a couple of options:
Custom Apex REST class (see Trailhead/Apex doc)
- This can take in a POST body of whatever you define (an array of objects to insert). Not too big or heap may blow up or CPU limit may blow up. Ideally 200 objects per POST.
- Then, using Apex DML, you can upsert these and your governor limit will be 10,000 records (across all objects in the transaction)
- Your client system can call this REST endpoint a handful of times until you've done the initial load and then as needed as new records need to be transferred
- You will have to write this code and test it per normal SFDC practice
OOTB Composite REST API.
- Covered in the REST doc here
- Limited to 25 records per REST call
- Your client code creates batches of 25, makes call; then rinse and repeat
Third party middleware
- Jitterbit, Boomi, Informatica, Mulesoft, etc.