Is it correct to make queries to DB in preprocess functions? I've just started using Drupal after long experience of using other framework.
When I do something new, I'm scaring to crash performance because of my incomprehension.
So, my problem:
I want to add dynamically some data from database to some existing page region.
For example, I want to add list of child terms to taxonomy term page. And I don't need to change any other things on this page, so I don't want to turn on View. 
Is it normal to query data in preprocess functions?
My solution for D7 was like this:

function mymodule_taxonomy_term_view_alter(&amp;$build) {
  if ($build['#view_mode'] == 'full') {
    $children = taxonomy_get_tree($build['#term']-&gt;vid, $build['#term']-&gt;tid, 1);
    foreach($children as $term) {
      $build['children'][] = (array)$term;
    }
  }
}

function mymodule_preprocess_taxonomy_term(&amp;$variables) {
  if($variables['vocabulary_machine_name'] == 'catalog') {

    if(count($variables['elements']['children'])) {
      $items = array();
      foreach($variables['elements']['children'] as $term) {
        $items[] = array(
          'data' =&gt; l($term['name'], 'taxonomy/term/' . $term['tid'])
        );
      }

      $variables['content']['children']['#markup'] = theme('item_list', array('items' =&gt; $items, 'title' =&gt; 'Text terms list', 'type' =&gt; 'ul', 'attributes' =&gt; array()));
    }
  }
}


Any comment are welcome.
No, it's not incorrect to query the database in a preprocess function. If the information is required to render the page, putting a query in a preprocess function is an acceptable choice. Plus, in this particular case taxonomy_get_tree() caches results, so there is very little cost associated with repeated fetches.

Regarding Views, yes there is some overhead associated with it, but it employs a sophisticated caching strategy, and is ultimately just so powerful and useful that most sites use it. You could probably solve this current problem with no custom code by using a Viewfield.

These questions provide a lot of interesting background on Drupal performance.