Lightning Data Service allows you to create,retrieve,delete , update salesforce records whithout any need of Server Side Controller (Apex Controller) , its a standard controller for lightning
DIFFERENT COMPONENTS BASED ON LDS
There are multiple components Developed using LDS
force:recordData
Allows you to include LDS in your component, this tag can be used to perform any DML operation
lightning:recordViewForm
For Viewing a single record. you can display complete information of the record without the help of server side controller. you can even fetch all the field from page layout in this component
lightning:recordEditForm
For editing a single record you can edit and read complete information of the record without the help of server side controller , creation of new records is also supported
lightning:recordForm
This is the combination of above 2 components. this is a very powerful component and allows you to display,create or edit a record
Considerations of using Lightning Data Service
Lightning Data Service supports primitive DML operations—create, read, update, and delete. It operates on one record at a time, which you retrieve or modify using the record ID. Lightning Data Service supports spanned fields with a maximum depth of five levels. Support for working with collections of records or for querying for a record by anything other than the record ID isn’t available. If you must support higher-level operations or multiple operations in one transaction, use standard @AuraEnabled Apex methods. Lightning Data Service shared data storage provides notifications to all components that use a record whenever a component changes that record. It doesn’t notify components if that record is changed on the server, for example, if someone else modifies it. Records changed on the server aren’t updated locally until they’re reloaded. Lightning Data Service notifies listeners about data changes only if the changed fields are the same as in the listener’s fields or layout