It uses internal API to export data. In fact in Alfresco database is abstracted by Hibernate.
You can use export/import to transfer data between instances using different database. But export / import takes a long time on large repositories, and in some cases grows database log quite large.