In a 6-quart kettle bring 4 quarts salted water to a boil for spaghetti. Peel and seed 1 cucumber and shred on large holes of grater. Squeeze shredded cucumber in a clean kitchen towel to remove excess liquid. Seed and dice remaining half cucumber. Chop garlic and mash to a paste with salt. In a large bowl stir together shredded and diced cucumber, garlic paste, yogurt, buttermilk, all but 1 tablespoon dill, and salt and pepper to taste.
Halve or quarter tomatoes and cut olives into thin slices. In a bowl stir together tomatoes, olives, and remaining tablespoon dill and season with salt and pepper.
Cook spaghetti in boiling water until al dente and drain in a colander. Rinse spaghetti under cold water to stop cooking and drain well. Add spaghetti to yogurt mixture and toss to coat.
Serve spaghetti topped with tomato mixture.