How do I extend an existing entity? I would like to add some custom fields to the taxonomy_term_data table. 

How do I programmatically extend the Term entity?
There is a hook for that hook_entity_base_field_info(). The code could look something like this

/**
 * Implements hook_entity_base_field_info().
 */
function module_name_entity_base_field_info(\Drupal\Core\Entity\EntityTypeInterface $entity_type) {
  if ($entity_type-&gt;id() === 'taxonomy_term') {
    $fields['new_field'] = \Drupal\Core\Field\BaseFieldDefinition::create('string')
      -&gt;setLabel(t('Label'));

    // You can add more options about visibility configuration etc.

    return $fields;
  }
}


The above could add "hidden" field, (not visible in display or edit mode and not configurable). You need to do the same thing as when creating base fields in a custom entity.