diff --git a/core/modules/block_content/src/BlockContentViewsData.php b/core/modules/block_content/src/BlockContentViewsData.php
index 7950d78..200d18f 100644
--- a/core/modules/block_content/src/BlockContentViewsData.php
+++ b/core/modules/block_content/src/BlockContentViewsData.php
@@ -21,7 +21,7 @@ public function getViewsData() {
 
     $data = parent::getViewsData();
 
-    $data['block_content']['id']['field']['id'] = 'block_content';
+    $data['block_content_field_data']['id']['field']['id'] = 'block_content';
 
     $data['block_content_field_data']['info']['field']['id'] = 'block_content';
     $data['block_content_field_data']['info']['field']['link_to_entity default'] = TRUE;
diff --git a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml
index 5c8fe27..c11426b 100644
--- a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml
+++ b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: block_content
+base_table: block_content_field_data
 base_field: id
 core: '8'
 display:
diff --git a/core/modules/comment/config/install/views.view.comments_recent.yml b/core/modules/comment/config/install/views.view.comments_recent.yml
index a5dca72..dd4ba6a 100644
--- a/core/modules/comment/config/install/views.view.comments_recent.yml
+++ b/core/modules/comment/config/install/views.view.comments_recent.yml
@@ -9,7 +9,7 @@ label: 'Recent comments'
 module: views
 description: 'Recent comments.'
 tag: default
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
@@ -208,7 +208,7 @@ display:
           entity_field: created
         cid:
           id: cid
-          table: comment
+          table: comment_field_data
           field: cid
           relationship: none
           group_type: group
diff --git a/core/modules/comment/src/CommentViewsData.php b/core/modules/comment/src/CommentViewsData.php
index 2a7083c..2b5ed89 100644
--- a/core/modules/comment/src/CommentViewsData.php
+++ b/core/modules/comment/src/CommentViewsData.php
@@ -20,16 +20,16 @@ class CommentViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['comment']['table']['base']['help'] = t('Comments are responses to content.');
-    $data['comment']['table']['base']['access query tag'] = 'comment_access';
+    $data['comment_field_data']['table']['base']['help'] = t('Comments are responses to content.');
+    $data['comment_field_data']['table']['base']['access query tag'] = 'comment_access';
 
-    $data['comment']['table']['wizard_id'] = 'comment';
+    $data['comment_field_data']['table']['wizard_id'] = 'comment';
 
     $data['comment_field_data']['subject']['title'] = t('Title');
     $data['comment_field_data']['subject']['help'] = t('The title of the comment.');
     $data['comment_field_data']['subject']['field']['id'] = 'comment';
 
-    $data['comment']['cid']['field']['id'] = 'comment';
+    $data['comment_field_data']['cid']['field']['id'] = 'comment';
 
     $data['comment_field_data']['name']['title'] = t('Author');
     $data['comment_field_data']['name']['help'] = t("The name of the comment's author. Can be rendered as a link to the author's homepage.");
diff --git a/core/modules/comment/src/Plugin/views/field/Username.php b/core/modules/comment/src/Plugin/views/field/Username.php
index c82a301..7568a81 100644
--- a/core/modules/comment/src/Plugin/views/field/Username.php
+++ b/core/modules/comment/src/Plugin/views/field/Username.php
@@ -43,6 +43,11 @@ protected function defineOptions() {
     return $options;
   }
 
+  public function query() {
+    parent::query();
+  }
+
+
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/comment/src/Plugin/views/wizard/Comment.php b/core/modules/comment/src/Plugin/views/wizard/Comment.php
index 34908ad..aa89369 100644
--- a/core/modules/comment/src/Plugin/views/wizard/Comment.php
+++ b/core/modules/comment/src/Plugin/views/wizard/Comment.php
@@ -19,7 +19,7 @@
  *
  * @ViewsWizard(
  *   id = "comment",
- *   base_table = "comment",
+ *   base_table = "comment_field_data",
  *   title = @Translation("Comments")
  * )
  */
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml
index b9b4c48..a3ca208 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml
@@ -10,7 +10,7 @@ label: test_comment_rss
 module: views
 description: ''
 tag: ''
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
index 6c1ffee..9b0b973 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
@@ -11,7 +11,7 @@ label: test_comment_user_uid
 module: comment_test_views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -41,7 +41,7 @@ display:
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
diff --git a/core/modules/entity_reference/src/Tests/Views/SelectionTest.php b/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
index 5e98176..9faf512 100644
--- a/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
+++ b/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
@@ -118,7 +118,7 @@ public function testSelectionHandlerRelationship() {
     $view->displayHandlers->get('default')->setOption('relationships', array(
       'test_relationship' => array(
         'id' => 'uid',
-        'table' => 'users',
+        'table' => 'users_field_data',
         'field' => 'uid',
       ),
     ));
@@ -127,7 +127,7 @@ public function testSelectionHandlerRelationship() {
     $view->displayHandlers->get('default')->setOption('filters', array(
       'uid' => array(
         'id' => 'uid',
-        'table' => 'users',
+        'table' => 'users_field_data',
         'field' => 'uid',
         'relationship' => 'test_relationship',
       )
diff --git a/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml b/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml
index 645be9e..2abda30 100644
--- a/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml
+++ b/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml
@@ -11,7 +11,7 @@ label: 'Entity reference'
 module: entity_reference_test
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/history/history.views.inc b/core/modules/history/history.views.inc
index 50e12aa..4b98136 100644
--- a/core/modules/history/history.views.inc
+++ b/core/modules/history/history.views.inc
@@ -19,7 +19,7 @@ function history_views_data() {
   // Explain how this table joins to others.
   $data['history']['table']['join'] = array(
      // Directly links to node table.
-    'node' => array(
+    'node_field_data' => array(
       'table' => 'history',
       'left_field' => 'nid',
       'field' => 'nid',
diff --git a/core/modules/node/config/install/views.view.archive.yml b/core/modules/node/config/install/views.view.archive.yml
index 0e37d99..209346d 100644
--- a/core/modules/node/config/install/views.view.archive.yml
+++ b/core/modules/node/config/install/views.view.archive.yml
@@ -8,7 +8,7 @@ label: Archive
 module: node
 description: 'All content, by month.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/node/config/install/views.view.content.yml b/core/modules/node/config/install/views.view.content.yml
index bb1e2c0..794bdf7 100644
--- a/core/modules/node/config/install/views.view.content.yml
+++ b/core/modules/node/config/install/views.view.content.yml
@@ -9,7 +9,7 @@ label: Content
 module: node
 description: 'Find and manage content.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.content_recent.yml b/core/modules/node/config/install/views.view.content_recent.yml
index bc12a13..0fb273d 100644
--- a/core/modules/node/config/install/views.view.content_recent.yml
+++ b/core/modules/node/config/install/views.view.content_recent.yml
@@ -9,7 +9,7 @@ label: 'Recent content'
 module: node
 description: 'Recent content.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.frontpage.yml b/core/modules/node/config/install/views.view.frontpage.yml
index d9dc888..2d9f093 100644
--- a/core/modules/node/config/install/views.view.frontpage.yml
+++ b/core/modules/node/config/install/views.view.frontpage.yml
@@ -9,7 +9,7 @@ label: Frontpage
 module: node
 description: 'All content promoted to the front page.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.glossary.yml b/core/modules/node/config/install/views.view.glossary.yml
index 7060764..da43946 100644
--- a/core/modules/node/config/install/views.view.glossary.yml
+++ b/core/modules/node/config/install/views.view.glossary.yml
@@ -9,7 +9,7 @@ label: Glossary
 module: node
 description: 'All content, by letter.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/node/src/NodeViewsData.php b/core/modules/node/src/NodeViewsData.php
index f7a5dee..9ab5ddf 100644
--- a/core/modules/node/src/NodeViewsData.php
+++ b/core/modules/node/src/NodeViewsData.php
@@ -20,12 +20,12 @@ class NodeViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['node']['table']['base']['weight'] = -10;
-    $data['node']['table']['base']['access query tag'] = 'node_access';
-    $data['node']['table']['wizard_id'] = 'node';
+    $data['node_field_data']['table']['base']['weight'] = -10;
+    $data['node_field_data']['table']['base']['access query tag'] = 'node_access';
+    $data['node_field_data']['table']['wizard_id'] = 'node';
 
-    $data['node']['nid']['field']['id'] = 'node';
-    $data['node']['nid']['field']['argument'] = [
+    $data['node_field_data']['nid']['field']['id'] = 'node';
+    $data['node_field_data']['nid']['field']['argument'] = [
       'id' => 'node_nid',
       'name field' => 'title',
       'numeric' => TRUE,
@@ -255,26 +255,26 @@ public function getViewsData() {
     $data['node_field_data']['uid_revision']['filter']['id'] = 'node_uid_revision';
     $data['node_field_data']['uid_revision']['argument']['id'] = 'node_uid_revision';
 
-    $data['node_revision']['table']['wizard_id'] = 'node_revision';
+    $data['node_field_revision']['table']['wizard_id'] = 'node_revision';
 
     // Advertise this table as a possible base table.
-    $data['node_revision']['table']['base']['help'] = t('Content revision is a history of changes to content.');
-    $data['node_revision']['table']['base']['defaults']['title'] = 'title';
+    $data['node_field_revision']['table']['base']['help'] = t('Content revision is a history of changes to content.');
+    $data['node_field_revision']['table']['base']['defaults']['title'] = 'title';
 
-    $data['node_revision']['nid']['argument'] = [
+    $data['node_field_revision']['nid']['argument'] = [
       'id' => 'node_nid',
       'numeric' => TRUE,
     ];
     // @todo the NID field needs different behaviour on revision/non-revision
     //   tables. It would be neat if this could be encoded in the base field
     //   definition.
-    $data['node_revision']['nid']['relationship']['id'] = 'standard';
-    $data['node_revision']['nid']['relationship']['base'] = 'node';
-    $data['node_revision']['nid']['relationship']['base field'] = 'nid';
-    $data['node_revision']['nid']['relationship']['title'] = t('Content');
-    $data['node_revision']['nid']['relationship']['label'] = t('Get the actual content from a content revision.');
+    $data['node_field_revision']['nid']['relationship']['id'] = 'standard';
+    $data['node_field_revision']['nid']['relationship']['base'] = 'node';
+    $data['node_field_revision']['nid']['relationship']['base field'] = 'nid';
+    $data['node_field_revision']['nid']['relationship']['title'] = t('Content');
+    $data['node_field_revision']['nid']['relationship']['label'] = t('Get the actual content from a content revision.');
 
-    $data['node_revision']['vid'] = array(
+    $data['node_field_revision']['vid'] = array(
       'argument' => array(
         'id' => 'node_vid',
         'numeric' => TRUE,
@@ -288,13 +288,13 @@ public function getViewsData() {
       ),
     ) + $data['node_revision']['vid'];
 
-    $data['node_revision']['langcode']['help'] = t('The language the original content is in.');
-    $data['node_revision']['langcode']['field']['id'] = 'node_language';
+    $data['node_field_revision']['langcode']['help'] = t('The language the original content is in.');
+    $data['node_field_revision']['langcode']['field']['id'] = 'node_language';
 
-    $data['node_revision']['revision_log']['field']['id'] = 'xss';
+    $data['node_field_revision']['revision_log']['field']['id'] = 'xss';
 
-    $data['node_revision']['revision_uid']['help'] = t('Relate a content revision to the user who created the revision.');
-    $data['node_revision']['revision_uid']['relationship']['label'] = t('revision user');
+    $data['node_field_revision']['revision_uid']['help'] = t('Relate a content revision to the user who created the revision.');
+    $data['node_field_revision']['revision_uid']['relationship']['label'] = t('revision user');
 
     $data['node_field_revision']['table']['wizard_id'] = 'node_field_revision';
 
diff --git a/core/modules/node/src/Plugin/views/field/Node.php b/core/modules/node/src/Plugin/views/field/Node.php
index d5ee4cc..43077e2 100644
--- a/core/modules/node/src/Plugin/views/field/Node.php
+++ b/core/modules/node/src/Plugin/views/field/Node.php
@@ -33,7 +33,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
 
     // Don't add the additional fields to groupby
     if (!empty($this->options['link_to_node'])) {
-      $this->additional_fields['nid'] = array('table' => 'node', 'field' => 'nid');
+      $this->additional_fields['nid'] = array('table' => 'node_field_data', 'field' => 'nid');
     }
   }
 
diff --git a/core/modules/node/src/Plugin/views/row/Rss.php b/core/modules/node/src/Plugin/views/row/Rss.php
index 0b1acac..55d62a5 100644
--- a/core/modules/node/src/Plugin/views/row/Rss.php
+++ b/core/modules/node/src/Plugin/views/row/Rss.php
@@ -24,14 +24,14 @@
  *   help = @Translation("Display the content with standard node view."),
  *   theme = "views_view_row_rss",
  *   register_theme = FALSE,
- *   base = {"node"},
+ *   base = {"node_field_data"},
  *   display_types = {"feed"}
  * )
  */
 class Rss extends RssPluginBase {
 
   // Basic properties that let the row style follow relationships.
-  var $base_table = 'node';
+  var $base_table = 'node_field_data';
 
   var $base_field = 'nid';
 
diff --git a/core/modules/node/src/Plugin/views/wizard/Node.php b/core/modules/node/src/Plugin/views/wizard/Node.php
index 288e7aa..829f852 100644
--- a/core/modules/node/src/Plugin/views/wizard/Node.php
+++ b/core/modules/node/src/Plugin/views/wizard/Node.php
@@ -20,7 +20,7 @@
  *
  * @ViewsWizard(
  *   id = "node",
- *   base_table = "node",
+ *   base_table = "node_field_data",
  *   title = @Translation("Content")
  * )
  */
diff --git a/core/modules/node/src/Plugin/views/wizard/NodeRevision.php b/core/modules/node/src/Plugin/views/wizard/NodeRevision.php
index ade28e9..4a86948 100644
--- a/core/modules/node/src/Plugin/views/wizard/NodeRevision.php
+++ b/core/modules/node/src/Plugin/views/wizard/NodeRevision.php
@@ -18,7 +18,7 @@
  *
  * @ViewsWizard(
  *   id = "node_revision",
- *   base_table = "node_revision",
+ *   base_table = "node_field_revision",
  *   title = @Translation("Content revisions")
  * )
  */
diff --git a/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php b/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
index 800b52f..7e1209b 100644
--- a/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
+++ b/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
@@ -54,13 +54,13 @@ public function testViewAdd() {
     /** @var \Drupal\views\Entity\View $view */
     $view = $view_storage_controller->load($view['id']);
 
-    $this->assertEqual($view->get('base_table'), 'node_revision');
+    $this->assertEqual($view->get('base_table'), 'node_field_revision');
 
     $executable = Views::executableFactory()->get($view);
     $this->executeView($executable);
 
     $this->assertIdenticalResultset($executable, array(array('vid' => 1), array('vid' => 3), array('vid' => 2), array('vid' => 4)),
-      array('node_field_revision_vid' => 'vid'));
+      array('vid' => 'vid'));
   }
 
 }
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml
index f7e1e82..d779464 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml
index 8cbff7b..5763f70 100644
--- a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml
+++ b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml
@@ -11,7 +11,7 @@ label: 'test options list argument (numeric)'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml
index 00040da..7249f6d 100644
--- a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml
+++ b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml
@@ -11,7 +11,7 @@ label: 'test options list argument (string)'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml
index 6028d96..ed6a530 100644
--- a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml
+++ b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml
@@ -11,7 +11,7 @@ label: test_options_list_filter
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php b/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php
index 81fd898..e8ad1e5 100644
--- a/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php
+++ b/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php
@@ -72,7 +72,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
       $this->additional_fields['nid'] = array('table' => 'node_field_revision', 'field' => 'nid');
     }
     else {
-      $this->additional_fields['nid'] = array('table' => 'node', 'field' => 'nid');
+      $this->additional_fields['nid'] = array('table' => 'node_field_data', 'field' => 'nid');
     }
   }
 
diff --git a/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php b/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
index 3e6ce9a..848ef1b 100644
--- a/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
+++ b/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
@@ -14,7 +14,7 @@
  *
  * @ViewsWizard(
  *   id = "taxonomy_term",
- *   base_table = "taxonomy_term_data",
+ *   base_table = "taxonomy_term_field_data",
  *   title = @Translation("Taxonomy terms")
  * )
  */
diff --git a/core/modules/taxonomy/src/TermViewsData.php b/core/modules/taxonomy/src/TermViewsData.php
index 4b4e578..3ffe280 100644
--- a/core/modules/taxonomy/src/TermViewsData.php
+++ b/core/modules/taxonomy/src/TermViewsData.php
@@ -20,11 +20,11 @@ class TermViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['taxonomy_term_data']['table']['base']['help'] = t('Taxonomy terms are attached to nodes.');
-    $data['taxonomy_term_data']['table']['base']['access query tag'] = 'term_access';
-    $data['taxonomy_term_data']['table']['wizard_id'] = 'taxonomy_term';
+    $data['taxonomy_term_field_data']['table']['base']['help'] = t('Taxonomy terms are attached to nodes.');
+    $data['taxonomy_term_field_data']['table']['base']['access query tag'] = 'term_access';
+    $data['taxonomy_term_field_data']['table']['wizard_id'] = 'taxonomy_term';
 
-    $data['taxonomy_term_data']['table']['join'] = array(
+    $data['taxonomy_term_field_data']['table']['join'] = array(
       // This is provided for the many_to_one argument.
       'taxonomy_index' => array(
         'field' => 'tid',
@@ -32,19 +32,19 @@ public function getViewsData() {
       ),
     );
 
-    $data['taxonomy_term_data']['tid']['help'] = t('The tid of a taxonomy term.');
+    $data['taxonomy_term_field_data']['tid']['help'] = t('The tid of a taxonomy term.');
 
-    $data['taxonomy_term_data']['tid']['argument']['id'] = 'taxonomy';
-    $data['taxonomy_term_data']['tid']['argument']['name field'] = 'name';
-    $data['taxonomy_term_data']['tid']['argument']['zero is null'] = TRUE;
+    $data['taxonomy_term_field_data']['tid']['argument']['id'] = 'taxonomy';
+    $data['taxonomy_term_field_data']['tid']['argument']['name field'] = 'name';
+    $data['taxonomy_term_field_data']['tid']['argument']['zero is null'] = TRUE;
 
-    $data['taxonomy_term_data']['tid']['filter']['id'] = 'taxonomy_index_tid';
-    $data['taxonomy_term_data']['tid']['filter']['title'] = t('Term');
-    $data['taxonomy_term_data']['tid']['filter']['help'] = t('Taxonomy term chosen from autocomplete or select widget.');
-    $data['taxonomy_term_data']['tid']['filter']['hierarchy table'] = 'taxonomy_term_hierarchy';
-    $data['taxonomy_term_data']['tid']['filter']['numeric'] = TRUE;
+    $data['taxonomy_term_field_data']['tid']['filter']['id'] = 'taxonomy_index_tid';
+    $data['taxonomy_term_field_data']['tid']['filter']['title'] = t('Term');
+    $data['taxonomy_term_field_data']['tid']['filter']['help'] = t('Taxonomy term chosen from autocomplete or select widget.');
+    $data['taxonomy_term_field_data']['tid']['filter']['hierarchy table'] = 'taxonomy_term_hierarchy';
+    $data['taxonomy_term_field_data']['tid']['filter']['numeric'] = TRUE;
 
-    $data['taxonomy_term_data']['tid_raw'] = array(
+    $data['taxonomy_term_field_data']['tid_raw'] = array(
       'title' => t('Term ID'),
       'help' => t('The tid of a taxonomy term.'),
       'real field' => 'tid',
@@ -70,10 +70,10 @@ public function getViewsData() {
       ),
     );
 
-    $data['taxonomy_term_data']['vid']['help'] = t('Filter the results of "Taxonomy: Term" to a particular vocabulary.');
-    unset($data['taxonomy_term_data']['vid']['field']);
-    unset($data['taxonomy_term_data']['vid']['argument']);
-    unset($data['taxonomy_term_data']['vid']['sort']);
+    $data['taxonomy_term_field_data']['vid']['help'] = t('Filter the results of "Taxonomy: Term" to a particular vocabulary.');
+    unset($data['taxonomy_term_field_data']['vid']['field']);
+    unset($data['taxonomy_term_field_data']['vid']['argument']);
+    unset($data['taxonomy_term_field_data']['vid']['sort']);
 
     $data['taxonomy_term_data']['edit_term'] = array(
       'field' => array(
diff --git a/core/modules/tracker/tracker.views.inc b/core/modules/tracker/tracker.views.inc
index 14c125e..5747e62 100644
--- a/core/modules/tracker/tracker.views.inc
+++ b/core/modules/tracker/tracker.views.inc
@@ -13,7 +13,7 @@ function tracker_views_data() {
 
   $data['tracker_node']['table']['group'] = t('Tracker');
   $data['tracker_node']['table']['join'] = array(
-    'node' => array(
+    'node_field_data' => array(
       'type' => 'INNER',
       'left_field' => 'nid',
       'field' => 'nid',
@@ -158,7 +158,7 @@ function tracker_views_data() {
  */
 function tracker_views_data_alter(&$data) {
   // Provide additional uid_touch handlers which are handled by tracker
-  $data['node']['uid_touch_tracker'] = array(
+  $data['node_field_data']['uid_touch_tracker'] = array(
     'group' => t('Tracker - User'),
     'title' => t('User posted or commented'),
     'help' => t('Display nodes only if a user posted the node or commented on the node.'),
diff --git a/core/modules/user/config/install/views.view.user_admin_people.yml b/core/modules/user/config/install/views.view.user_admin_people.yml
index 3dbaf84..f2ea8c3 100644
--- a/core/modules/user/config/install/views.view.user_admin_people.yml
+++ b/core/modules/user/config/install/views.view.user_admin_people.yml
@@ -8,7 +8,7 @@ label: People
 module: user
 description: 'Find and manage people interacting with your site.'
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -733,7 +733,7 @@ display:
           entity_field: status
         uid_raw:
           id: uid_raw
-          table: users
+          table: users_field_data
           field: uid_raw
           relationship: none
           group_type: group
diff --git a/core/modules/user/src/Plugin/views/field/Roles.php b/core/modules/user/src/Plugin/views/field/Roles.php
index 3f38496..4ba1309 100644
--- a/core/modules/user/src/Plugin/views/field/Roles.php
+++ b/core/modules/user/src/Plugin/views/field/Roles.php
@@ -61,7 +61,7 @@ public static function create(ContainerInterface $container, array $configuratio
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
     parent::init($view, $display, $options);
 
-    $this->additional_fields['uid'] = array('table' => 'users', 'field' => 'uid');
+    $this->additional_fields['uid'] = array('table' => 'users_field_data', 'field' => 'uid');
   }
 
   public function query() {
diff --git a/core/modules/user/src/Plugin/views/wizard/Users.php b/core/modules/user/src/Plugin/views/wizard/Users.php
index 1052476..aa6488e 100644
--- a/core/modules/user/src/Plugin/views/wizard/Users.php
+++ b/core/modules/user/src/Plugin/views/wizard/Users.php
@@ -18,7 +18,7 @@
  *
  * @ViewsWizard(
  *   id = "users",
- *   base_table = "users",
+ *   base_table = "users_field_data",
  *   title = @Translation("Users")
  * )
  */
diff --git a/core/modules/user/src/UserViewsData.php b/core/modules/user/src/UserViewsData.php
index acf2100..2553a5e 100644
--- a/core/modules/user/src/UserViewsData.php
+++ b/core/modules/user/src/UserViewsData.php
@@ -20,21 +20,21 @@ class UserViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['users']['table']['base']['help'] = t('Users who have created accounts on your site.');
-    $data['users']['table']['base']['access query tag'] = 'user_access';
+    $data['users_field_data']['table']['base']['help'] = t('Users who have created accounts on your site.');
+    $data['users_field_data']['table']['base']['access query tag'] = 'user_access';
 
-    $data['users']['table']['wizard_id'] = 'user';
+    $data['users_field_data']['table']['wizard_id'] = 'user';
 
-    $data['users']['uid']['field']['id'] = 'user';
-    $data['users']['uid']['argument']['id'] = 'user_uid';
-    $data['users']['uid']['argument'] += array(
+    $data['users_field_data']['uid']['field']['id'] = 'user';
+    $data['users_field_data']['uid']['argument']['id'] = 'user_uid';
+    $data['users_field_data']['uid']['argument'] += array(
       'name table' => 'users_field_data',
       'name field' => 'name',
       'empty field name' => \Drupal::config('user.settings')->get('anonymous'),
     );
-    $data['users']['uid']['filter']['id'] = 'user_name';
-    $data['users']['uid']['filter']['title'] = t('Name');
-    $data['users']['uid']['relationship'] = array(
+    $data['users_field_data']['uid']['filter']['id'] = 'user_name';
+    $data['users_field_data']['uid']['filter']['title'] = t('Name');
+    $data['users_field_data']['uid']['relationship'] = array(
       'title' => t('Content authored'),
       'help' => t('Relate content to the user who created it. This relationship will create one record for each content item created by the user.'),
       'id' => 'standard',
@@ -44,7 +44,7 @@ public function getViewsData() {
       'label' => t('nodes'),
     );
 
-    $data['users']['uid_raw'] = array(
+    $data['users_field_data']['uid_raw'] = array(
       'help' => t('The raw numeric user ID.'),
       'real field' => 'uid',
       'filter' => array(
diff --git a/core/modules/views/src/EntityViewsData.php b/core/modules/views/src/EntityViewsData.php
index 0efd164..2ada727 100644
--- a/core/modules/views/src/EntityViewsData.php
+++ b/core/modules/views/src/EntityViewsData.php
@@ -129,26 +129,31 @@ public function getViewsData() {
     // Setup base information of the views data.
     $data[$base_table]['table']['group'] = $this->entityType->getLabel();
     $data[$base_table]['table']['provider'] = $this->entityType->getProvider();
-    $data[$base_table]['table']['base'] = [
+
+    $views_base_table = $base_table;
+    if ($data_table) {
+      $views_base_table = $data_table;
+    }
+    $data[$views_base_table]['table']['base'] = [
       'field' => $base_field,
       'title' => $this->entityType->getLabel(),
     ];
 
     if ($label_key = $this->entityType->getKey('label')) {
       if ($data_table) {
-        $data[$base_table]['table']['base']['defaults'] = array(
+        $data[$views_base_table]['table']['base']['defaults'] = array(
           'field' => $label_key,
           'table' => $data_table,
         );
       }
       else {
-        $data[$base_table]['table']['base']['defaults'] = array(
+        $data[$views_base_table]['table']['base']['defaults'] = array(
           'field' => $label_key,
         );
       }
     }
 
-    $data[$base_table]['operations'] = array(
+    $data[$views_base_table]['operations'] = array(
       'field' => array(
         'title' => $this->t('Operations links'),
         'help' => $this->t('Provides links to perform entity operations.'),
@@ -158,7 +163,7 @@ public function getViewsData() {
 
     // Setup relations to the revisions/property data.
     if ($data_table) {
-      $data[$data_table]['table']['join'][$base_table] = [
+      $data[$base_table]['table']['join'][$data_table] = [
         'left_field' => $base_field,
         'field' => $base_field,
         'type' => 'INNER'
@@ -169,7 +174,12 @@ public function getViewsData() {
     if ($revision_table) {
       $data[$revision_table]['table']['group'] = $this->t('@entity_type revision', ['@entity_type' => $this->entityType->getLabel()]);
       $data[$revision_table]['table']['provider'] = $this->entityType->getProvider();
-      $data[$revision_table]['table']['base'] = array(
+
+      $views_revision_base_table = $revision_table;
+      if ($revision_data_table) {
+        $views_revision_base_table = $revision_data_table;
+      }
+      $data[$views_revision_base_table]['table']['base'] = array(
         'field' => $revision_field,
         'title' => $this->t('@entity_type revisions', array('@entity_type' => $this->entityType->getLabel())),
       );
@@ -481,11 +491,6 @@ protected function processViewsDataForTextLong($table, FieldDefinitionInterface
   /**
    * Gets the table of an entity type to be used as base table in views.
    *
-   * @todo Given that the base_table is pretty much useless as you often have to
-   *   join to the data table anyway, it could make a lot of sense to start with
-   *   the data table right from the beginning.
-   * @see https://drupal.org/node/2337509
-   *
    * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
    *   The entity type.
    *
@@ -493,7 +498,7 @@ protected function processViewsDataForTextLong($table, FieldDefinitionInterface
    *   The name of the base table in views.
    */
   protected function getViewsTableForEntityType(EntityTypeInterface $entity_type) {
-    return $entity_type->getBaseTable();
+    return $entity_type->getDataTable() ?: $entity_type->getBaseTable();
   }
 
 }
diff --git a/core/modules/views/src/Plugin/Derivative/DefaultWizardDeriver.php b/core/modules/views/src/Plugin/Derivative/DefaultWizardDeriver.php
index f7610f2..51eaa2d 100644
--- a/core/modules/views/src/Plugin/Derivative/DefaultWizardDeriver.php
+++ b/core/modules/views/src/Plugin/Derivative/DefaultWizardDeriver.php
@@ -22,6 +22,7 @@ class DefaultWizardDeriver extends DeriverBase {
   public function getDerivativeDefinitions($base_plugin_definition) {
     $views_data = Views::viewsData();
     $base_tables = array_keys($views_data->fetchBaseTables());
+    print_r($base_tables);
     $this->derivatives = array();
     foreach ($base_tables as $table) {
       $views_info = $views_data->get($table);
@@ -34,6 +35,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
         );
       }
     }
+    print_r($this->derivatives);
     return parent::getDerivativeDefinitions($base_plugin_definition);
   }
 }
diff --git a/core/modules/views/src/Plugin/views/row/EntityRow.php b/core/modules/views/src/Plugin/views/row/EntityRow.php
index 071314f..a0df1e1 100644
--- a/core/modules/views/src/Plugin/views/row/EntityRow.php
+++ b/core/modules/views/src/Plugin/views/row/EntityRow.php
@@ -92,7 +92,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
 
     $this->entityTypeId = $this->definition['entity_type'];
     $this->entityType = $this->entityManager->getDefinition($this->entityTypeId);
-    $this->base_table = $this->entityType->getBaseTable();
+    $this->base_table = $this->entityType->getDataTable() ?: $this->entityType->getBaseTable();
     $this->base_field = $this->entityType->getKey('id');
   }
 
diff --git a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
index cdf0723..fa80c98 100644
--- a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
+++ b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
@@ -124,7 +124,7 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition
 
     $entity_types = \Drupal::entityManager()->getDefinitions();
     foreach ($entity_types as $entity_type_id => $entity_type) {
-      if ($this->base_table == $entity_type->getBaseTable()) {
+      if ($this->base_table == $entity_type->getBaseTable() || $this->base_table == $entity_type->getDataTable()) {
         $this->entityType = $entity_type;
         $this->entityTypeId = $entity_type_id;
       }
diff --git a/core/modules/views/src/ViewsData.php b/core/modules/views/src/ViewsData.php
index 81469e7..9155df6 100644
--- a/core/modules/views/src/ViewsData.php
+++ b/core/modules/views/src/ViewsData.php
@@ -293,6 +293,9 @@ public function fetchBaseTables() {
 
     foreach ($this->get() as $table => $info) {
       if (!empty($info['table']['base'])) {
+        if (!isset($info['table']['base']['title'])) {
+          debug($table);
+        }
         $tables[$table] = array(
           'title' => $info['table']['base']['title'],
           'help' => !empty($info['table']['base']['help']) ? $info['table']['base']['help'] : '',
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml
index 8b7b5fb..2e774d1 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml
index 60f617d..4a32743 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml
index 83521ca..f5f1c1e 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -24,7 +24,7 @@ display:
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml
index feeeac8..7f13a2c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml
@@ -10,7 +10,7 @@ label: test_history
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
index c1aac0f..f251b4d 100644
--- a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
+++ b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
@@ -186,27 +186,32 @@ public function testDataTable() {
 
     // Tests the join definition between the base and the data table.
     $data = $this->viewsData->getViewsData();
-    $field_views_data = $data['entity_test_mul_property_data'];
+    $base_views_data = $data['entity_test'];
+
+    // Ensure that the base table it set to the data table.
+    $this->assertEquals('id', $data['entity_test_mul_property_data']['table']['base']['field']);
+    $this->assertEquals('Entity test', $data['entity_test_mul_property_data']['table']['base']['title']);
+    $this->assertFalse(isset($data['entity_test']['table']['base']));
 
     $this->assertEquals('entity_test_mul', $data['entity_test_mul_property_data']['table']['entity type']);
     $this->assertEquals('Entity test', $data['entity_test_mul_property_data']['table']['group']);
     $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
-    $this->assertEquals(['field' => 'label', 'table' => 'entity_test_mul_property_data'], $data['entity_test']['table']['base']['defaults']);
+    $this->assertEquals(['field' => 'label', 'table' => 'entity_test_mul_property_data'], $data['entity_test_mul_property_data']['table']['base']['defaults']);
 
     // Ensure the join information is set up properly.
-    $this->assertCount(1, $field_views_data['table']['join']);
-    $this->assertEquals(['entity_test' => ['left_field' => 'id', 'field' => 'id', 'type' => 'INNER']], $field_views_data['table']['join']);
+    $this->assertCount(1, $base_views_data['table']['join']);
+    $this->assertEquals(['entity_test_mul_property_data' => ['left_field' => 'id', 'field' => 'id', 'type' => 'INNER']], $base_views_data['table']['join']);
     $this->assertFalse(isset($data['revision_table']));
     $this->assertFalse(isset($data['revision_data_table']));
   }
 
   /**
-   * Tests revision table support.
+   * Tests revision table without data table support.
    */
-  public function testRevisionTable() {
+  public function testRevisionTableWithoutDataTable() {
     $entity_type = $this->baseEntityType
       ->set('revision_table', 'entity_test_mulrev_revision')
-      ->set('revision_data_table', 'entity_test_mulrev_property_revision')
+      ->set('revision_data_table', NULL)
       ->set('id', 'entity_test_mulrev')
       ->setKey('revision', 'revision_id')
     ;
@@ -214,7 +219,39 @@ public function testRevisionTable() {
 
     $data = $this->viewsData->getViewsData();
 
+    $this->assertEquals('Entity test revisions', $data['entity_test_mulrev_revision']['table']['base']['title']);
+    $this->assertEquals('revision_id', $data['entity_test_mulrev_revision']['table']['base']['field']);
+
     $this->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_revision']['table']['entity type']);
+    $this->assertEquals('Entity test revision', $data['entity_test_mulrev_revision']['table']['group']);
+    $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
+
+    // Ensure the join information is set up properly.
+    // Tests the join definition between the base and the revision table.
+    $revision_data = $data['entity_test_mulrev_revision'];
+    $this->assertCount(1, $revision_data['table']['join']);
+    $this->assertEquals(['entity_test' => ['left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER']], $revision_data['table']['join']);
+    $this->assertFalse(isset($data['data_table']));
+  }
+
+  /**
+   * Tests revision table with data table support.
+   */
+  public function testRevisionTableWithDataTable() {
+    $entity_type = $this->baseEntityType
+      ->set('revision_table', 'entity_test_mulrev_revision')
+      ->set('revision_data_table', 'entity_test_mulrev_property_revision')
+      ->set('id', 'entity_test_mulrev')
+      ->setKey('revision', 'revision_id')
+    ;
+    $this->viewsData->setEntityType($entity_type);
+
+    $data = $this->viewsData->getViewsData();
+
+    $this->assertEquals('Entity test revisions', $data['entity_test_mulrev_property_revision']['table']['base']['title']);
+    $this->assertEquals('revision_id', $data['entity_test_mulrev_property_revision']['table']['base']['field']);
+    $this->assertFalse(isset($data['entity_test_mulrev_revision']['table']['base']));
+
     $this->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_property_revision']['table']['entity type']);
     $this->assertEquals('Entity test revision', $data['entity_test_mulrev_revision']['table']['group']);
     $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
@@ -366,7 +403,7 @@ public function testBaseTableFields() {
     $this->assertField($data['entity_test']['user_id'], 'user_id');
 
     $relationship = $data['entity_test']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
   }
 
@@ -387,7 +424,7 @@ public function testDataTableFields() {
       ->setTranslatable(TRUE);
     $base_field_definitions = $this->setupBaseFields($base_field_definitions);
     $entity_test_type = new ConfigEntityType(['id' => 'entity_test_bundle']);
-    $user_entity_type = new ContentEntityType(['id' => 'user', 'base_table' => 'users', 'entity_keys' => ['id' => 'uid']]);
+    $user_entity_type = static::userEntityInfo();
     $this->entityManager->expects($this->any())
       ->method('getDefinition')
       ->willReturnMap([
@@ -475,7 +512,7 @@ public function testDataTableFields() {
     $this->assertEntityReferenceField($data['entity_test_mul_property_data']['user_id']);
     $this->assertField($data['entity_test_mul_property_data']['user_id'], 'user_id');
     $relationship = $data['entity_test_mul_property_data']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
   }
 
@@ -586,7 +623,7 @@ public function testRevisionTableFields() {
     $this->assertEntityReferenceField($data['entity_test_mulrev_property_data']['user_id']);
     $this->assertField($data['entity_test_mulrev_property_data']['user_id'], 'user_id');
     $relationship = $data['entity_test_mulrev_property_data']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
 
     // Check the property data fields.
@@ -610,7 +647,7 @@ public function testRevisionTableFields() {
     $this->assertEntityReferenceField($data['entity_test_mulrev_property_revision']['user_id']);
     $this->assertField($data['entity_test_mulrev_property_revision']['user_id'], 'user_id');
     $relationship = $data['entity_test_mulrev_property_revision']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
   }
 
@@ -742,6 +779,7 @@ protected static function userEntityInfo() {
       'class' => 'Drupal\user\Entity\User',
       'label' => 'User',
       'base_table' => 'users',
+      'data_table' => 'users_field_data',
       'entity_keys' => [
         'id' => 'uid',
         'uuid' => 'uuid',
